API versioning based on Accept header
How would one go about building an API where the version is **not** part of an URL?

> Other popular methods include using HTTP Accept header, custom request headers, etc.

It seems like a good way to achieve this would be by introducing `condition` to [.route() options](https://github.com/koajs/joi-router#route-options) which can simply be a middeware function that returns a boolean. If the true it would continue to validate and execute handlers, if not it would simply skip to the next route(if any) with the same path and method.

This would give us an ability to inspect headers and execute the right validation and handlers based on the API version.

Thoughts?
