Add ability to add behavior to a model

How to reuse code across several models? The fact that `classMethods` and `instanceMethods` get attached to the `DAO` during the call to `sequelize.define()` makes it very difficult. This commit allows to reuse methods from an object, as follows:

```js
var User = this.sequelize.define('UserWithBehavior', {});

var myBehavior = function() {
  this.foo = true;
}
myBehavior.hello = function() {
  return "world";
}
myBehavior.prototype.bar = function() {
  return 'baz';
}

User.addBehavior(myBehavior);

User.hello(); // 'world'
var user = User.build();
user.foo; // true
user.bar(); // 'baz'
```