Allow calling super in subclasses of CoreObject.

* Add a few tests for `CoreObject`.
* Allow calling methods on your parent class.
  * Allow calling `this._super()` to call the super classes implementation of your current method.
  * Allow calling `this._super.someOtheMethod()` to access other methods from the super class.
  * Does not wrap methods that do not contain `_super`.

Illustration:

```javascript
var fooCalled, barCalled, instance;

var Klass1 = CoreObject.extend({
  foo: function() {
    fooCalled = true;
  }
});

var Klass2 = Klass1.extend({
  foo: function() {
    this._super();
  },

  bar: function() {
    barCalled = true;
    this._super.foo();
  }
});

instance = new Klass2();
instance.bar();

assert(fooCalled, 'foo called');
assert(barCalled, 'bar called');

fooCalled = false;
instance.foo();

assert(fooCalled, 'foo called');
```