Synced up with changes from trunk, re: rev 141:176
* Fix everyone's versions
 * removed unnecessary reference assignments from initialize(), references #34
Another take on the SingletonModel buiz..

 * Added Toolkit::classHeritage, returns an array of a classes ancestry
 * Added Toolkit::isSubClass(), returns a boolean comparison between two classes
 * Refactored SingletonModel tests into it's own testcase
 * Added tests for new Toolkit methods
 * Refactored Controller::getModel and Controller::getGlobalModel to use Toolkit::isSubClass() to determine model implementation
 * made SingletonModel::__clone() protected, too.. (should probably throw an exception too, eh?)
Only call a model's initialize method, if it has one.
Synced up with trunk, Merged in rev 176:187.
Synced up with trunk, Merged in rev 187:190
Synced in changes from trunk, re: merged revs: 190:198
Merged in changes from david_singleton-model branch
 * adds a basis for a model which follows the Singleton pattern
 * adds Toolkit::classHeritage() to discover a classes lineage
 * adds Toolkit::isSubClass() to determine if a class is a subclass of another class
 * Controller::get*Model() will only attempt to initialize the model if it has an initialize method