Allow default header and query versioning

Allow people to specify a default version when versioning their API
endpoints via ACCEPT headers or query parameters. Example:

```ruby
class Versioning < Crepe::API
  version with: :header, vendor: :example, default: :v2

  # Define endpoints
end
```

If no default is explicitly configured, unversioned requests will be
routed to whatever version was defined first in the API endpoint.

Of course, this doesn't make sense with path versioning, so I've left
that out.

Signed-off-by: David Celis <me@davidcel.is>