Add logic for create, update, destroy actions
Add initial support for versions and routing requests through to the appropriate
version based on the `Accept-Version` header