Shackles!

Mostly extracted from canvas-lms, with a bit of refactoring as follows:
 * Put stuff in Shackles module, instead of directly monkey-patching AR
 * Rails 3 support (minor change to how connection_handler keeps track of
   pools)
 * s/with_environment/activate/g
 * Remove explicit_user in favor of a more generalized global_config
 * Default environment is now :master, not nil
 * Don't autopopulate environment from the, uh, environment (instead
   allow consumers to use an initializer so they can customize the
   environment variable names, or however else they want to do it)