add typesafe record id/version and more tests
get rid of useless MetadataRecord base class
javassist-safe impls of toString/hashCode/equals + more ut work