Routes path specs

Based by #123 , but here we don't have separate function `spec` to get spec of route. We override `toString` for route function, and this give for us to get function spec in this way:

```js
Routes.users_path // => "/users(.:format)"
Routes.users_path.required_params // => []
Routes.users_path() // => "/users"
Routes.user_path // => "/users/:id(.:format)"
Routes.user_path.required_params // => ['id']
Routes.user_path(1) // => "/users/1"
```
What is the difference between `required_params` and `required_parts`? Why can't we use only one of them?