Removed protocol entirely since the effect of +associateClassVariablesByName being a category method is exactly the same. Moved Milliner's implementation of it out of a category and into main implmentation body for simplicity.