docs(api): add more documentation
This closes #1 (closed) by adding more documentation to everything in the API. This includes documenting the routes, the internal functions for database management, and the models as well.
NOTE: The responses are not documented as much, as there are not that many helpful errors, which will be done in a seperate PR for #8