allow setting master shard through ENV['SHARD'] or config/shards.yml

This allows:
- Using ```db:schema:load``` to initialize a new shard (previously it just loaded to whatever was in ```config/database.yml```).
- Having ```config/shards.yml``` your main configuration file for databases. You still need ```config/databases.yml``` for startup, but afterwards all queries go to your main shard.