Provide before() after() hooks for statement query/close/cancel 


This pull request implements @cygri suggested comments from #166 and provides hooks that will enable vendor specific behavior for ```before()``` and ```after()```: ```statement.executeQuery()```, ```statement.close()``` and ```statement.cancel()```.

Specific implementation provided for Postgres which adds  ```connection.commit()``` to ```statement.close()``` and ```statement.cancel()```.