don't expose BasicConst* types from construction functions to simplify usage when working with Const* collection types in Grains and Builders
add additional property for testing nesting of the same type
refactor package layout to reduce need for public classes, and simply grain serializer/deserializer