Adding Format

This introduces the Format object. The Format object is an object used
for shorthand notation in a Controller action that can selectively
respond to requests:

```d
BookController : ActionController {
  void index() {
    respondTo(delegate void(Format format) {
      format.html(delegate void() { // render the HTML response });
      format.json(delegate void() { // render the JSON response });
    });
  }
}
```

This way a single action can easily handle multiple format requests to
the same resource.