50%: Multiple datasources

This PR replaces #27: it's more of a drop-in replacement for the current MongoTripod (although the configuration and signature for most delegates has changed).  

There are some semantic changes to Tripod concepts: instead of "databases" it internally refers to them as "groups" and it replaces "collections" with "pods".  This is an effort to detach the Tripod concepts from any particular database concept.

Some unit tests are still needed, but I think this is ready for some vetting.
Actually, I would think that the proper semantics for this would be "getPodForCBD()", although it might be ok since we're clearly in a mongo-specific implementation here.