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.
This code looks like copy paste from internal algorithm within js routes.
It means that you've simply ensuring that algorithm works as it works but not that it works correctly.
If we would like to change it in future it will get into a mess.

This is not a good practice of making tests.