Add support for versioned API
This MR restructures the way the views
are implemented to allow for a versioned API. This should allow us to implement a new version of the API to better support future query types whilst still supporting legacy clients.
I have plans to write up a V2 of the API that better supports multiple file formats, so this is the first step.
This should have zero impact on functionality, and so should support queries from the current client.