Updated Provider to fix issue with namespace defines

Provider:define trims backslashes from the start of the class name, where as Provider::isDefined and Provider::getDefinition do not, These have been updated to mirror the behaviour.