UrlMatcher should throw error when route contains capture groups

As per #206, `UrlMatcher` does not allow capture groups in routes. This patch makes `UrlMatcher` check for unbalanced parameters and throw an error accordingly.

cc: @ksperling