Add 'criticctl listusers' for listing all registered users

The 'listusers' command takes a --format argument which takes one of the
following values:

 - "tuples": List user data as a python-parseable list of tuples
 - "dicts":  List user data as a python-parseable list of dicts
 - "table":  List user data as a human-readable ASCII table
criticctl adduser: Allow empty password on command line
When changing password, current password may be empty
Check proper UID after calling setuid() instead of checking UID == 0 before

This allows us to run criticctl as the 'critic' user, instead of needlessly
enforcing 'root'.
fixup! Add 'criticctl listusers' for listing all registered users
fixup! Check proper UID after calling setuid() instead of checking UID == 0 before
Merge branch 'admin_fixes' into cisco_changes