New Feature: Protocol support

### New Features:
* Adds protocol support when generating URL helpers, for routes with specific protocol specified.
* Adds support for "protocol relative" base URL value in `:url_links` config.

### Changes:
* `generate_url_link` no longer validates that the `:url_links` config value contains the protocol.

This PR fixes #127.
@bogdan Depends on how you think of it. Some people might expect a protocol relative base URI to stay protocol relative since it would be used in HTML. If you are on `https` and you want to stay on `https` then using protocol relative URI would work. Pre-generating the routes would have no way of knowing if you were on http or https. We could add some JavaScript to detect that when the JavaScript function is called, but I don't think that is the best way to do it. I designed this to support backwards compatibility (minor version bump) while providing the ability to add a specific protocol at runtime, but I think it would be better to not support protocol relative base URIs at all, add a `default_host` config, and have the routes definition be the authority on which protocol/host to use. This would require a major version bump since it would change the behavior/expectations of the config values, but I think it would be better in the long run. If you agree, I will make the changes to this pull request.