Add Class utility and use it for all class definitions
Add type contracts utilities and use them in Observer and Observable
classes for paramter verification.
Use contract utilities in Observer and Observable classes
Add contracts for Array, Date and RegExp
Merge branch 'master' into debjit

Conflicts:
	uibase/commons/observable.js
	uibase/commons/observer.js
Make the example work with contracts
Add accumulate function to Observable and show it off