Make existing commands use new user parameters.

- Fix broken tests that now have error messages inside the commander.
- Change the commander's order of evaluation to ensure authentication
  happens before evaluation of the arguments.
Add write locks to the core commands.

The core commands were using the read locks passed on from the commander
but that's not sufficient seeing as they were mostly doing writes.

- Fix tests broken by commander taking over more error reporting.
- Added a lock around the cache for the store (since FindUser can write)
- Fixed a bug in commander where handler's that closed manually would
  segfault.
- Add a drone.io CI badge to the readme.