CS fixes
Refactored Annotation instantiate to accept a wider range of input types in a graceful fashion and improved exception reporting when invalid types are used. Added instantiation unit test.
Added a performance test to ensure that using the caching provided by the Annotation factory provides a performance benefit