The map is a static object defined on the root `Route` class.
This means that any changes made by its derived classes (e.g. by
specifying the `@authenticate` annotation on some methods) will impact
the object for all the other derived classes too.
To prevent clashes, the structure of the map has been changed from:
```
method -> preRequestHandler
```
to:
```
RouteClass.name -> method -> preRequestHandler
```
- Add versioning to API endpoints.
- Refactored $db and $repos as global variables.
- Extracted routes into separate components with deferred registration.
- Support for a different db URL for location data than the one used by
the application.
- Added sqlite and passport dependencies (passport will soon be used to
handle authentication).