Add tags page with add/edit

I also fixed our broken tests and added unit tests for my functionality.