Added update method for relations with pivottables

To be used like this:

User.forge({id: 3})
.relation()
.update({id:1, additional:'testing'})
.then(function (relation) {
  console.log('updated');
});
Allowed additional where conditions for update

The 3rd, optional parameter to `updatePivot` basically exposes all `builder` methods, but should primarily be used for adding custom `where` conditions to the update query. Enables users to do the following:

Model.forge({id: someId})
.someRelation()
.updatePivot({additional_column:'new data'}, null,{whereIn: ['info_id', anotherId]})
.then(function (col) {
  console.log('updated');
});
Ability to make updates required

By passing `{require: true}` as option to `updatePivot` an `Error` will now be thrown, if no rows have been updated.
Fixed typo
Added tests for `updatePivot`
Merge pull request #156 from johanneslumpe/master

Added `updatePivot` method for relations