Functionality inprovement of transaction calss, also new savepoint class added

The transaction class on master has some problems, see the first commit comment (https://github.com/mmickey/vsqlite--/commit/1f82e3cc6e6f7f8822b89ab170afabe84d83feca) in order to check the motivation.

The functionalities of transaction class are expanded allowing the user to add the kind of transaction he/she wants to create and handle.

The savepoint class allows to create and handle savepoints (some kind of named transactions, as explained in SQlite's documentation).

With the above changes all transaction handling through the wrapper is improved.