Add _setup method

This pull request adds a `service._setup(app, path)` method that allows registering conflicting routes as reported in and closes #86. Works as described in the documentation added:

`setup` will be called after all REST routes have been set up. This means that you
can't register custom middleware with potentially conflicting paths.
In this case, implement `_setup(app, path)` instead which will run before the REST
middleware is registered. An example would be implementing a `todos/count` route
which returns the number of todos (instead of the todo with the id count):

```js
var todoService = {
  todos: [
    {
      id: 0,
      description: 'Learn Feathers'
    },
    {
      id: 1,
      description: 'Do dishes'
    }
  ],

  find: function (params, callback) {
    callback(null, this.todos);
  },

  _setup: function (app, path) {
    var self = this;

    app.get('/' + path + '/count', function (req, res) {
      self.find({}, function (error, todos) {
        res.json({
          count: todos.length
        });
      });
    });
  }
};

feathers()
  .use('todos', todoService)
  .listen(8000);
```