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.
It's from the original signature -- I suppose it could be refactored out.  The downside is that you'd like the options that we possibly passed when MongoTripod was instantiated (readPreference, for example).

In some ways, it would make more sense for the delegate constructors to take *only* an iTripod object (and maybe an array of options), but that would make quite a different signature.

Which is fine, but that's a decision we'd have to consider the cost/benefit of.