Add manifest parser to AndroidTarget.

This removes the need to enter target_sdk and package variables
for every BUILD file in the package. It was always on the TODO,
but as I am prepping the codegen tasks, it seemed time. This removes
several params from the targets, docstrings are updated accordingly.

Also added BadManifestError to catch malformed or incomplete manifests.
These errors would eventually cause problems in the compilation
process, but since we are parsing the manifest here, uncaught
exceptions would appear to be pants-related problems, as opposed
to an issue with the user's Android project. So I added an exception
to catch the issue.

Testing Done:
ci.sh passed locally.
Travis passed [0].

There will be some further integration tests of this functionality when I push up a
separate patch this weekend comprised of the aapt_gen class and its test coverage.

[0] https://travis-ci.org/pantsbuild/pants/builds/29720531

Reviewed at: https://rbcommons.com/s/twitter/r/668/