unify geopkg format modules (xerial and android)

- introduce Backend to support different implementations
- implement Transactional in GeoPkgVector
- add Transaction test
- add IOException to Transactional