[#651] Source code formatting
[#651] Cache survey quesitons during file processing

* Cache survey questions to speed up subsequent processing
* Store questions as map for quick retrieval during processing
[#651] Guard against non-existent questions

* check for non-existent questions when building summary
* rename variable
[#651] Cache questions list whenever possible

* When retrieving questions list use cache whenever possible
[#651] Update cached survey question list when saving or deleting
[#651] Compare `Question` entities based on `Key`
[#651] Replace existing cached `Question` objects when saving questions

* if `Question` object exists in cache replace it
* remove objects from cache before deleting from datastore
[#651] Update summary counts in a batch

* retrieve all summary counts for a survey, update them and save them as a batch.  Cache summary objects and retrieve from cache whenever possible
[#690] WIP - Fetching a data file authenticated connection

* Try to minimize the number of changes in current code (e.g.
  TaskServlet), by encapsulating the signature calculation in a
  `S3Util` class.
* More changes to the new utility class are comming (e.g. get|put
  methods)
[#692] Code clean up

* Removes unused imports, variables
* Formats some `if` expressions
Merge pull request #698 from akvo/issue/664

Issue/664
[#695] Add registrationSurvey attr, if applies

* No attr means regular group
[#695] Use TRUE constant as a comparator
Merge pull request #699 from akvo/issue/695

[#695] Add registrationSurvey attr, if applies
[#690] WIP - Implement PUT request using REST api

* The MD5 calculation is not working properly and the endpoint is
  rejecting the request.
* The final implementation *must* include the MD5 checksum as integrity
  validation
[#690] Fix MD5 generation

* Avoid hexadecomal temporary conversion
* Trim whitespace after Base64 computation
* Add MD5 to the signature payload and to the http request
[#697] Select first question column index

* Avoid side effects on `firstQuestionCol` variable
[#690] Merge branch 'develop' into issue/690
Merge pull request #701 from akvo/issue/697

[#697] Select first question column index
Merge pull request #693 from akvo/issue/692

[#692] Code clean up