Refactor #airbrake_current_user

Fix for https://github.com/airbrake/airbrake/issues/313 based on the (excellent) work by @tonyarkles and his PR https://github.com/airbrake/airbrake/pull/331

- ensure we return the DB connection   
- split the DB interaction from populating the hash

The reason I prefer doing it this way is that it isolates the problematic spot into a single short method.
I think this should be extracted to separate commit, so it can be easily reverted back. Also ConnectionManagement uses different `clear_active_connections`: https://github.com/rails/rails/blob/cff9608f11abe37b8ae1ea42379bfb17d78f28c4/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb#L623. Besides that I don't see why can't we fix middleware order?