Allow the Simian Army to work under an assumed role (cross account access)

This resolves #77

- Introduces a new client property **simianarmy.client.aws.assumeRoleArn**
 - which is consumed in the *BasicSimianArmyContext*
- Takes advantage of existing ability to pass in an AWS credentials provider for AWS client creation
 - which was available but not used anywhere, now all clients are created with a defined provider, the default chain being used as standard
- Introduces a new credentials provider that handles management of the temporary credentials for the assumed role, particularly for renewal when they expire : required as no current AWS SDK credentials provider is suitable
- Alters Conformity Monkey rules that were creating clients to use the appropriate credentials provider
 - ideally they wouldn't have to know about credentials providers but as they are creating clients they have to 
 - a future change could address this but it is a more general change, not just to support this feature