Raise a specific exception on unsupported version

When a version is found that is no longer supported, or never was
supported, an application may want to handle this differently.
Previously generic routing error exceptions were raised and the
exception message stated no match or version is deprecated. Having the
same exception made it difficult to determine if it was not supported
or invalid, also the unsupported routing error erroneously contained
the word deprecated.

The new approach is to raise a new typed exception when the version is
not supported. It will include the versioned request as part of the
exception to allow inspection in an error handler.

This should resolve the issue #24.