Huge, huge checkpoint of refactoring the core data structures.
Move test cases into library project so they run without re-installing.
Run messages tests with Robolectric and start passing a few.
fixed javadoc typo to test pushing
handle other data type in VehicleMessage.buildSubtype
negative response codes
beginning implementations of DiagnosticRequest and DiagnosticResponse
cleanup
minor code fixes and added methods
writeToParcel message methods and additional safety checks for null maps
fixed javadoc typos
fixed javadoc typo
fixed explosion in constructor when no timestamp in values map
Fixed NegativeResponseCode member formatting & added toDocumentationString() method
improved correctness and stricter algorithm for buildSubtype type selection
minor code fixes and additions
Undo change from accidentally committed item
Beginning of EventedVehicleMessage
Build with Java 7 when using Maven.

I see that Java 7 support was added in Android build tools 19, and we
need this for things like the diamond operator which was used in a
recent commit (and I'm assuming compiled in Eclipse).
Replace tabs with 4 spaces.