Refactor the tests for Core Commands.
Add access and masks implementations.

- Add a way for public core commands to be registered.
- Make getUser a lot more robust.
- Add String() functions to Access and UserAccess.