When passed a list of providers as a hash of hashes, asset_host_selection
converts it to a hash of its own AssetProvider objects.
However, if there are multiple keys in the hash pointing to the same
hashed settings, asset_host_selection will create multiple AssetProvider
objects with the same values.  This is misleading because really, there is
only one CDN which is referred to by multiple keys, but asset_host_selection
will essentially turn it into multiple CDN's all indexed by their own unique
key.

This commit fixes the problem by tracking which settings objects map to which
AssetProvider objects and only ever creating one AssetProvider for a particular
settings hash.
Fix accidental whitespace
Put the setup code for the test of duplicate settings hashes in the
test itself, per @eac's suggestion.
Put the setup code back the way it was originally, since we're now setting
up the duplicate object test in the test itself.
Merge pull request #2 from zendesk/ggrossman/one_provider_object_per_setting

Ensure that at most one AssetProvider object is created for a particular settings hash