[#121] Implement authenticated S3 GET requests

* Add basic structure for auth requests
* Rely on new properties (survey.properties)
[#121] Add PUT implementation

* Use PUT instead of POST multipart for file uploading
[#121] DRY - Extract getDate() function
[#121] Extract common io functionality
[#121] Retry if the upload fails
[#121] Move bucket dirs to ConstantUtil

* Add status code check after PUT
[#121] Make image objects public
[#121] Fix S3 authenticated requests

* Refactor hash creation to return raw hash
* Send Base64 MD5 file hash
* Clean up S3Api file
[#121] Update property names
[#121] Delete unused code
Merge branch 'develop' into issue/121 (#121)

Conflicts:
	app/src/main/java/org/akvo/flow/service/SurveyDownloadService.java
	app/src/main/java/org/akvo/flow/util/MultipartStream.java
Merge pull request #147 from akvo/issue/121

Issue/121