Allow before and after filters to be created by chaining together declarations

Controller before and after filters must be declared in the following way

```javascript
controller.before('action1', filterA);
controller.before('action1', filterB);
controller.before('action1', filterC);

controller.before('action2', filterA);
controller.before('action2', filterB);
```
In cases where a controller has many actions and many filters, it would be nice if we could declare fitlers by chaining the declarations together

```javascript
controller
 .before('action1', filterA)
 .before('action1', filterB)
 .before('action1', filterC);

controller
 .before('action2', filterA)
 .before('action2', filterB);
```

This makes the code a little easier to read, and encourages developers to arrange filters into distinct ordered blocks, rather than as single lines that could be inserted anywhere in the controller code.

To support this, I've made two small changes to controller.js, and added a single test to each of the filter test suites, which should be sufficient to test the syntax.