Added new error code ScErrDatabaseMemberNotPublic, to be used when we want to put a weave-time constraint on a database class member (i.e. field, property).
Implemented new constraints in the weaver; fields/properties marked with any of [Type], [Inherits] or [TypeName] must be public, as specified in #2302.
Refactoring in weaver metadata: moved out SpecialFlags class from DatabaseAttribute and made it a public, reusable type (renamed to DatabaseAttributeFlags).
Exposed DatabaseAttribute.specialFlags in internal new property SpecialFlags.
Extended Starcounter.Binding.PropertyDef with new data/properties describing metadata relating to the new dynamic types domain, e.g. type name.
Changed the code host Loader class to emit new dynamic types metadata information gathered by the weaver to the code host PropertyDef instances.
Extended Starcounter.Binding TypeDef class with new metadata regarding dynamic types.
Extended TypeBinding (of Starcounter.Binding) with new properties exposing metadata representing dynamic type information (e.g. the type reference, base type reference, type name).
Merge branch 'develop' into issue/2302
Merge branch 'issue/2302' into develop. This merge implement what is requested in #2302.