Change parts of FDB services from private to protected to allow specialization for testing.
Introduce a separate method for the top-level transaction context, defaulting to the database itself.
merge MMcM: Minor refactoring to allow specialized FDB services for experimenting

Merge pull request #1519 from MMcM/sql-layer/fdb-transaction-service-protected
https://github.com/FoundationDB/sql-layer/pull/1519