expandable patterns

Is this something we want? Might only work for certain patterns (thinking AST-based patterns atm).

``` ruby
pattern = Mustermann.new('/foo/:name')
pattern.expand(name: 'bar') # => '/foo/bar'
```

Also, should partial expanding be allowed? If so, we might need to escape special characters.