use properties file to provide AWS credentials in scratch project

ditch the custom user home credentials provider
template credentials file is provided and real one is hidden by .gitignore
major: implement local integration tests with DynamoDB Local

- implement bash scripts to fetch, locally deploy, start, and stop DynamoDB Local
- integrate with SBT to start and stop DynamoDB Local
- use an SBT settings key to switch between local and remote mode (local is default)
- general reorganization of the build file
- extract code from scratch project to use as the common code for integration tests
- write an initial integration test using ScalaTest
Merge pull request #11 from pellucidanalytics/topic/dynamodb-local

Integration testing of DynamoDB mapper
upgrade to latest AWS SDK

as well as upgrading the SDK, this also upgrades all of the other dependencies, as well as the version of SBT.

This also includes a fix due a change to internal SDK API. The previously internal helper method `isRequestEntityTooLargeException` has now been exposed in com.amazonaws.retry.RetryUtils
fix the race condition in FutureTransfer.listenFor

As the progress listener is attached to the transfer after the transfer has already started. It is possible that the listener will miss the ‘done’ progress events: ‘completed’, ‘failed’, ‘canceled’. Therefore, after the progress listener is attached, the transfer is also polled to check it it has already completed.

It is theoretically possible for `tryComplete` to be invoked twice, hence `tryComplete`. I’m 99% confident that this code guarantees that `tryComplete` will be invoked at least once!
Merge pull request #13 from pellucidanalytics/fix/s3-futuretransfer

fix the race condition in FutureTransfer.listenFor
Merge branch 'unstable' as v0.5-RC4

Pull in latest changes from unstable branch:
- introduce an integration test suite using DynamoDB Local (#11)
- update to AWS SDK 1.7.1 (and other deps)
- fix race condition in S3 FutureTransfer.listenFor (#13)