Remove finishing? method from transaction.

The `@finishing` variable on the transaction object was a work-around for
the savepoint name, so after a rollback/commit the savepoint could be
released with the previous name.
With a little bit of refactoring we dont need it anymore, and we can store the savepoint name locally instead.

related:
9296e6939bcc786149a07dac334267c4035b623a
60c88e64e26682a954f7c8cd6669d409ffffcc8b

@jonleighton if you could double check that I didnt miss anything here would be awesome :heart:
review @chancancode @rafaelfranca @tenderlove @spastorino
Actually, we dont want that.. We want to try to remove, as much as possible, transactions responsibilities from the connection object. For a few reasons, a big one is nested transactions.