* Add tests for container dependencies.
* Add Component Container tests for dependencies.
This ensures that no deadlocking occurs when fetching from the
container, and when a delete occurs.
* Add versioning to Functions and convert to FIRLibrary
* Convert Firestore to FIRLibrary
* Point travis to FirebaseCore pre-release for its deps
* Update user agent strings to match spec
* Add FirebaseCore component interoperability.
This puts in place the system that will allow SDKs to register with
Core and retrieve functionalities provided by other SDKs.
* Updated documentation.
* Add copywrite, fix log messages.
* Explicitly import headers from Private dir