JDK6 port
Merge remote-tracking branch 'jbgi/jdk6-port'
Rename @ValueVisitor to @GenerateValueClassForVisitor
Make all fields nonnull by default