Add LocationNameManager class

There's a bunch of duplicated code around formatting location names for various
reasons.
Use LocationNameManger in aws signer class
Fix spec for asset_bucket test
Append a secure random hex to end of bucket name

It's possible for a client to have locations with the same name apparently...so
this will distinguish their assets.
Add class for asset bucket creation
Call set_config on HerokuClient
Add set_config method to HerokuClient
Add get_config_vars method to HerokuClient
Create a location's asset bucket from the client reader
Don't create bucket if config var is already set
Stub out bucket creator in client reader spec
Stub create_asset_bucket method on Location
Stub create_asset_bucket method in the client reader job
Merge master and fix conflicts
Merge master and fix conflicts...again
Use urn for asset bucket name
Find location and pass to bucket creator
Rescue AWS::S3::Errors::BucketAlreadyExists
Fix some wording
Merge pull request #441 from G5/automate-s3-74730414

Automate Location Asset S3 Bucket Creation