Connection refactoring

Summary:
Changes the way we connect to MongoDB so it's 1 connection per server
instead of 1 per DB.

Also adds support for an async & sync connection to each server so
callers can choose to make synchronous queries.

Test Plan: Used the app

Reviewers: josh

Maniphest Tasks: T5540

Differential Revision: http://infra1.corp.contextlogic.com/D9432