Create ApiKeyRequiredError and use it
This is checked by middleware
Unnecessary test
Add tests for methodToRouter
Clean up setupRoutes and add new utilities
Add isActive and isSuperuser to CreateUser
Add tests for ValidateEmail
Implement ValidateEmail
Move User validation errors to user.go
Use ValidateEmail
Add errors to User
Add tests for User.Validate and User.Errors
Implement User.Validate, User.Errors
Use the builtin error formatting
Reformat email validation tests
Tests for ValidatePassword
Implement ValidatePassword
More concise tests
Use ValidatePassword
Don't require fmt, use assert's builtin handling