Fixed the flow of the context with transactionals and filters

- BeginTransaction(...) accepts an optional external context to plug to.
- The retry loop logic now passes the correct context when creating the transaction
- Transactionals methods now call BeginTransaction(..) on the outer database (when using filters)
- tr.Context.Database should return the outer database (filtered) instance and not the inner database
Added more debug logs on future to help track inline callback execution problems (off by default)
Logging Filter: Added a fancy ASCII bargraph to the unit test