Fix Jshint
Update tests as Object.observe now publishes add/update/delete events
update documentation to mention the new events
add .observe method that choses between observeArray and observeObject depending on the type, and throws if called with an invalid type