Assertion improvements

- Improved debug output from failed assertions
- assert_invalid now requires callers to give the expected Exception to be thrown.
- user_types test was asserting invalid instead of Unauthorized