adds metadata addition method
switches surrogate addition to metadata-based
switches memoization to be metadata-based
version bump
adds metadata fetcher
separates metadata code
introduces metadata container property that follows class hierarchy
adds missing tests for own metadata fetcher
adds prefixed metadata fetch
renames meta property fetchers
adds own meta property setter
refactors Memoization to be based on new metadata storage
refactors Surrogates and Instantiation to be based on new metadata storage, fixes remaining unit tests
introduces suffixed meta property addition
renames .setOwnMetaProperty() to .setMetaProperty()
adds examples to metadata documentation
removes superfluous class annotations
removes unused code from Surrogate
removes static class reference from Metadata
adds class name argument to Base.extend()