Cleaned up create client admin tests

 - Refactored new_admin() helper to take in hash arguments instead of
   regular params
 - Refactored admin/non-admin creation tests to take in hash params
 - Changed macro names to make it easier to read
 - Added a client_type description helper
 - Started simplifying expected_response scheme
   Most of the responses are not being overridden by OSC, so it can use
   the generic http_*_responses instead
Added create admin + validator tests
Added update admin/validator client tests
Added pedant validator client support

 - Cleaned up GET /users test
 - Cleaned up GET /clients test
 - Fixed search tests with validator_client
Added tests for generating keypairs and updating public keys

 - Admins can do anything
 - Validators can only update its own keys
 - Normal clients can only update its own keys
Added --bell option: when true, emit a bell when Pedant finishes
Validators should be able to GET itself
Refactored PUT /clients/<name> tests to use temporary testing client context
Added arbitrary --focus and --skip options to the command line
Refactored common requestors

 - *_users means users now
 - Added admin_client, normal_client, validator_client
 - Added pedant_clients and pedant_users
 - Fixed GET /clients
 - Fixed search clients
Added requestor helpers
Added rename client tests
Added self tests for admin, validator, and normal clients
Augmented DELETE client tests
Reorganized GET /clients/<name> tests
Tweaked client tests to depend on default values for admin and validator
Merge branch 'hh/CHEF-3697/admin_and_validation_clients'