Controllers

Controllers allow you to specify a controller class for routes. Based on @fortrabbit's work in SlimController, but a much simpler implementation to begin with.

Routes can be specified as

```
$app->get('/books/:id', function ($id) {
    //Show book identified by $id
});
```

With Controllers, they can be specified as

```
$app->get('/books/:id', 'Books::booksList');
```

and require a class as such

```
class Books extends \Slim\Controller
{
    public function booksList($id)
    {
        //Show book identified by $id
    }
}
```

The \Slim\Controller class currently has a single task of accepting the main Slim App to be accessible in a controller as `$this->app`.

Controllers can have a default namespace specified in the settings with a key of `controller.namespace`, which will prepend the class specified in every controller string.