API updates and some frontend testing

The testing is incomplete, but the few API changes are essential for the admin site.
It's not a bug, just a convention question. `currentPatient` is stored on `$rootScope`. However, `$scope` is a child of `$rootScope`, so you can technically reference `currentPatient` either way.