Added support for Server Side Encryption

- Added S3FileSystemConfigBuilder
- Refactored S3FileSystem + Object so that FileSystem encapsulates
  the various options (similar to SftpFileSystem+Object)
- Added get/setServerSideEncryption as necessary
- Added integration tests
- Fixed a bug in copy file tests where file counts were not being
  tested properly.
Added support for setting region and other minor additions.

* This requires each FileSystem having its own AmazonS3Client,
  and involved some refactoring.
* Upgraded AWS library version
* Added integration tests
* Added parameter to integration tests to allow a non-standard
  test S3 bucket (so others can easily run integration tests)
* Bugfix in doCreateFolder()
* Added shutdown() to S3FileSystem.  Solves a sometimes-deadlock
  problem caused by AWS TransferManager.
Update travis-ci configuration