Add optional matching via parentheses.

Thought it would be really nice to have Backbone.Router-style optional params.

Changes are documented in the README.