Issue #452 - Add allowExternalSources flag

* Define a new attribute for Question kind
* Display the option in the Dashboard - per question
* Include the flag in the xml Survey definition
Issue #452 - Disable 'externalSources' option for non-text questions
Issue #452 - Only send 'true' allowExternalSources flag
Merge branch 'develop' into feature/external_sources

Conflicts:
	Dashboard/app/js/lib/views/surveys/question-view.js
	Dashboard/app/js/templates/navSurveys/question-view.handlebars
	GAE/src/com/gallatinsystems/survey/domain/Question.java
	GAE/src/com/gallatinsystems/survey/domain/xml/Question.java
	GAE/src/locale/en.properties
	GAE/src/locale/ui-strings.properties
	GAE/src/org/waterforpeople/mapping/app/gwt/client/survey/QuestionDto.java
	GAE/src/org/waterforpeople/mapping/app/web/SurveyAssemblyServlet.java
[#793] Add external sources flag to the instance
[#793] Fix formatting

* Apply formatting to old (tab-based) changes
[#817] Accept only 200, 201 status codes
[#817] Refactor bytes -> hex conversion

* Make conversion more efficient
* Extract conversion code to be reused
[#817] Re-check MD5 returned in the ETag header
Merge pull request #819 from akvo/issue/817-s3-put

Issue/817 s3 put
Merge pull request #796 from akvo/feature/external_sources

[#793] Add 'allow external sources' flag in Free text question definition
[#797] Set locale identifier and display name when retrieving survey instance

Based on changes recommended by @mtwestra
[#797] Source code formatting and delete unused code
[#797] Always check for `surveyedLocaleIdentifier` and `surveyedLocaleDisplayName`
[#797] Set empty string for missing values
Merge pull request #825 from akvo/issue/797-missing-display-name

[#797] Display name and locale identifiers missing in RAW DATA report
[#435] Ignore empty `questionId`
Merge pull request #826 from akvo/issue/435_copy_question_group

[#435] Ignore empty `questionId` when copying questions
[#797] Set locale identifier and display name when retrieving survey instance

Based on changes recommended by @mtwestra

(cherry picked from commit 80e3176a3e3058bb618f6c4e83fc70a8ea68f71e)
[#797] Always check for `surveyedLocaleIdentifier` and `surveyedLocaleDisplayName`

(cherry picked from commit 608cb273826b6ba8038c40fbeecf63965a657c51)