Pass callback to hooks so that next can be skipped

/to @bajtos 
/cc @ritch 

See https://groups.google.com/forum/#!topic/loopbackjs/8zcmbxBjYeM

The PR passes the callback func to hooks, for example:

```js
User.beforeCreate = function(next, data, cb) {
// skip next();
cb('Error: invalid email');
};
```
What if the original callback has multiple return arguments? This may be a better implementation:

```js
if (arguments.length) {
  callback && callback.apply(null, arguments);
}
```