Added support for temporary session credentials...

* new private fn `aws-creds` instantiates creds
* importing `com.amazonaws.auth.BasicSessionCredentials`
* importing `com.amazonaws.auth.AWSCredentials`
* type hint on `aws-creds` to avoid reflection

Thanks to @marshallbrekka. Closes #21.
Replaced memoized `s3-client` fn with core.cache & core.memoize solution...

Allows multiple clients created using temporary session credentials to be cached
under a single key by providing a :client-id in the `cred` map - Closes #15

Also:
* added `core.cache` and `core.memoize` to deps
* moved s3-client code to `aws.sdk.s3.client` ns
* added basic tests to verify cache behavior