[Fixes #90] RouteTemplate does not take RouteData

Changed the implementation of route template to merge the existing route data
with the values obtained from parsing the request path with the given template.

Restored original route data values in case the route template data does not match.

This also takes care of #16 for some scenarios
I've humored you and changed it, but Id like to know what's the difference between both of them. Same argument can be used against `true`