Provide a variant of Card::transaction, which returns self on error.
Provide a variant of Card::transaction, which returns self on error.

  - Add Card::transaction2, which is like `Card::transaction`, but
    also returns the reference to `self` on error.

    When starting a transaction, it is necessary to deal with
    transient errors, like `Error::ResetCard`, by reconnecting to the
    card, and retrying the transaction.  When this functionality is
    wrapped in a function , this doesn't work, because mutable
    references can't be reborrowed.  This function returns the
    reference, which allows this construct.

  - Fixes #25.

bluetech/pcsc-rust