Reduced weird log4j error messages during grails test-app on the command line
Removed apiEncryptionKey data center dependency

The secrecy of the encryption key for generating Asgard API Token hashes is really not important at all, and we’ll be getting rid of the whole concept later after we have a better headless auth mechanism available.
Refactored complex ConfigService method to reuse existing logic instead of duplicating it
Added GroovyDocs to all remaining ConfigService methods
Created AbstractCredentialsProvider and ConfigCredentialsProvider

For the use cases of open source users who are not running the cloud, or who have already configured Asgard
Added SSH caller standalone class
Added SSH remote file reader, utilizing SSH caller
Added SshCredentialsProvider

Useful for situations where certain blessed Asgard-running machines should have access to AWS credentials stored on a limited-access machine via SSH with passwordless authentication.
Add a LocalFileReader abstraction that can be easily mocked for unit testing without real disk IO
Added LocalFilesCredentialsProvider

Useful for cases where AWS credentials are highly sensitive, must be stored on local disk, and must not be stored in Config.groovy because Config.groovy goes in a broadly accessible version control system.
Changed multithreaded unit test to use atomic integers to avoid theoretical race condition
Added ability to configure usage of key store for accessing key management service over SSL
Added method in RestClientService to get rest responses over SSL with a key store file
Added KeyManagementServiceCredentialsProvider

Useful for situations where you have a sophisticated key management system with a known DNS name, and the local Asgard machines are Asgard developer laptops or workstations that have local key store files for signing SSL requests to the key management server.

Might also be useful for having cloud-resident Asgard instances fetch account credentials for other cloud accounts.

Currently this is written to conform to the contract of Netflix’s Cryptex service for which there is not yet an open source reference implementation.
Refactored system properties map creation

Making both maps mutable and structured the same way enables obfuscation of secrets more easily in a subsequent commit, and enables mocking for a unit test
Changed /server/props output to hide AWS credentials
Changed AwsClientService to use configService instead of grailsApplication
ASGARD-907 - IAM Credentials

Now there are additional ways to get AWS credentials, including some of the ones built into Amazon’s common usage patterns (system properties, environment variables, instance metadata IAM profile), and some legacy methods some Asgard machines use (Grails configuration, local secret files, remote secret files over SSH), and a new method of getting credentials from a remote key management system over SSL with a signed local key store.
Removed default encryption key.

If an Asgard installation is going to use Asgard's quasi-authentication system, it should supply its own encryption key for creating the token hashes.
Fixed missing doc comment