This PR adds authentication and role-based routing on the web app, namely for the following user flows:
If a patient record does NOT exist, and the user is an Admin/Staff/Volunteer, then redirect to the creation/editing interface (currently /patients/register/[UUID])
If a patient record does NOT exist, and the user is a First Responder, then a not found page is shown with a basic message stating the patient does not exist.
If a page is accessed that does not exist any existing routes, then a generic not found page is shown
If a user is not logged in and tries to access a non existent route, they are presented with the log in page. If they decide to log in, then they'll be shown the generic not found page
Closes #117, fixes #127.
This PR adds authentication and role-based routing on the web app, namely for the following user flows: