End to end test coverage of Terms Controller

See #650, #581
So, I just converted the user endpoints to use end-to-end testing as well: #682

In the process, I discovered:
1. We have a security issue with updating users right now
2. The user deletion endpoint wasn't registered
3. Our updating user endpoints weren't set to allow JSON input
4. Some endpoints only had `POST` or `PUT` for updating instead of both
5. The performance is measurably negligible: before switching, tests took ~18sec on average. After, they take ~17 sec on average.

I still like having integration tests separate, but these work really well. One of the main reasons for this is that the route registration is really part of the unit we should be testing.

Rock & roll. \m/