Upgrade and fix to support java 8. Some code cleanup and document
improvement in the process. Break out some enforcement checks
improve support for annotation matching on types, methods, fields. Fix the JAstFlattener to support java 8.