Refactors StronglyTypedTrait/STClass to use STClassMember (new class) instead of a generic array->object conversion to let us add some more properties to the ClassMember object and have it all nice and neat (and testable!)
Prevents reassigning functions to null
More unit test coverage for StronglyTypedTrait
Adds initial support for selectively disabling Strong Type enforcement per class member (discouraged practice as it leads to falling into the old ways of just native PHP untyped classes)