[#204] Create new question type

* Update XML handler to support the new question
* Add a cascade question view skeleton
[#204] Add levels to cascading question

* Add levels list to the Question class.
* Parse levels from the XML.
[#204] Dump question titles (debug)
[#217] Cleanup unused code
[#217] Use HttpURLConnection

* Replace HttpClient appearances
[#217] Broaden custom exception usage
[#217] Reuse HttpUtil for generic requests
[#217] Reuse HttpUtil components

* Use public interfaces for reusable functions
[#217] Fix POST method

* call getInputStream() before getStatusCode()
Merge branch 'issue/217-refactor-http' into issue/204-cascading-qn
[#204] Download and extract question resource

* Reuse (and rename) 'extract' function
* Automatically uncompress zipped resources
[#204] Add 'res' directory access
[#204] Add read-access Cascade res database helper

* Update and reuse survey resources download
* Manage DB life-cycle from within the Cascade question
[#204] Dynamically load spinners
[#204] Download file from S3

* Rely on URL composition (same as surveys)
* TODO: Handle outstanding loopholes (sync failures, etc)
[#204] Handle both absolute and relative filenames

* Store resources in a single Set
* Depending on the resource type, use S3Api or HttpUtil
[#204] Add sync function

* Read ETag and determine whether a download is needed
[#204] Defer help-downloaded flag activation

* Use new S3Api sync method
[#204] Refactor SurveyDownloadService

* Simplify service: Use IntentService
* Synchronously download resources
* Clean up
[#204] Handle lack of cascading resource