Trigger method optimizations

This pr adds a special internal function
```js
Marionette._triggerMethod
```

How should I benchmark this. The only benchmark I've used so far is the reported running time of the test-suite. According to `mocha` post these changes the tests run `300ms - 400ms` faster (with a couple extra tests). Note: `triggerMethod` is called 7790 times in the specs

Feel free to reject as this really dirties the code, but I feel it may be worth it for such a hot function
Only if the user extends application, which is a point I forgot to bring up

```js
Marionette.Application.extend({
   triggerMethod: function() {}
});
```

May be broken. Same with the others inheriting from `Marionette.Object`. That may not be worth the breaking code :/