Validator throws errors, not return true/false

Fix to a try/catch block instead of true/false.
Everything else basically works the same.
Add ability to enable/disable users

The user can disable themselves.
Admins can disable any user.
Only admins can re-enable a user.

Useful for disabling temporary accounts that are
used to initialize the system or for demo data.

Also will be needed when we implement an admin interface.