[#181] Use split() instead of StringTokenizer

* Take empty values into account
[#181] Handle empty values in response validation

* User split() instead of StringTokenizer
[#182] Display # of synced *forms*
[#179] Add 'cancel' button

* Clean up files on 'onDestroy' callback
[#179] Add MD5 checksum property
[#179] Read & compare MD5 checksum

* Read hex hash from the json response
* Discard corrupted files
* Adjust layout
[#179] Use S3 ETag as a fallback

* Check first the json-encoded MD5, if exists
* Otherwise, fall back to S3's ETag header field
[#179] Update comment
i[#179] Avoid multiple instantiations on rotation
[#179] Update text
[#179] Remove unnecessary file
Merge pull request #184 from akvo/issue/182-sync-notification

Code checked
Merge pull request #185 from akvo/issue/181-geo-value

Code checked
Merge pull request #183 from akvo/issue/179-apk-update

Issue/179 apk update
[#187] Invalidate previous response ID

* Upon deletion, wipe old response state
[#191] Validate username

* Show error state if the field is left blank
[#191] Fix typo
Merge pull request #192 from akvo/issue/191-login-validation

Code checked
Merge pull request #188 from akvo/issue/187-answer-deletion

Code checked
[#179] Remove unnecessary file