Feature: routes path specs

Closes #122 

As discussed in #122, here's a PR to add a `spec()` function to route helpers.  
It is computed in the `build_path_spec` method from the route's binary tree, with bonus codesize-per-route reduction ;)

I had to change one test and remove two because of the way routes are now built:
```ruby
it "should have correct function without arguments signature" => it "should call route function for each route"
it "should have correct function with arguments signature" => pending
it "should have correct function signature with unordered hash" => pending
```
The reason is that we do not create one function per route with arguments names anymore. (the arguments names were not used anyway, as `build_path` was given `arguments` directly)  
Maybe we should find a way to keep the information about the arguments names somewhere?

I have added tests in the `path_specs_generation_spec.rb` spec file. All routes are loaded and two examples are dynamically created for each route, so that if one example fails, we directly know for which route (I have included the name of the route in the examples names).

Tests have been successful on my machine for all Rails versions included in Appraisal.
Why do you use nested function here? I think better to use a recursive call of `build_path_spec` by itself and construct result as returing value but not as `spec` closure variable