add access to regular expressions group matches used in route

```bash
$ nanoc --version
nanoc 3.7.3 © 2007-2014 Denis Defreyne.
Running ruby 2.0.0 (2014-05-08) on x86_64-linux with RubyGems 2.2.2.
```
my current example:
```ruby
blog_regexp = %r</blog/([0-9]+)\-([0-9]+)\-([0-9]+)\-([^\/]+)>
route blog_regexp do
  y,m,d,slug = blog_regexp.match(item.identifier)[1..-1]
  "/blog/#{y}/#{m}/#{slug}/index.html"
end
```
would be nice if t could be reduced to:
```ruby
route %r</blog/([0-9]+)\-([0-9]+)\-([0-9]+)\-([^\/]+)> do |y, m, d, slug|
  "/blog/#{y}/#{m}/#{slug}/index.html"
end
```
although adding `matches` for simplicity would be fine with me too:
```ruby
route %r</blog/([0-9]+)\-([0-9]+)\-([0-9]+)\-([^\/]+)> do
  y, m, d, slug = matches
  "/blog/#{y}/#{m}/#{slug}/index.html"
end
```
I did not looked in to the code yet, wanted to make sure such change would be welcome

Updating state here is troublesome, because this method should only return a boolean, and because the stored state depends on the `item` param.

I’d prefer the matches to be not stored at all. They will have to be recomputed, but I do not believe this is a big issue.