Setup route constraints for the api

Lots of changes, supposedly a versioned api
User tests and API start