Update to gradle 1.11, pick buildToolsVersion and compileSdkVersion across all
modules from top-level build.gradle, to ensure consistency.
Use dagger for dependency injection, to reduce statics in code. This also allows the API code to be mocked out for testing later.
Embed resource types in code. Dynamic resource types are really not needed.

This is in contrast to fetching them from the network and persisting them in the
database, and it avoids failing to create the Dagger object graph on
first-run (because the API module depends on the resource types, and they are
not available on first-run).
Make JSON iterators throw if there are no more elements (as described in the
Iterator interface).