An initial import of @AutoValue
Clean up the checkstyle warnings
Add the tests as well