use sudo correctly

This command is formatted as if it was su.
Fixed a couple of bugs in how the glusterfs state evaluates the "peered" status. Specifically on how it handles having a host peer to itself.

Added some comments to the glusterfs execution module to make it easier to see what the output from the commandline will be.

That should make it easier to find bugs (especially if future gluster versions change the formatting of their output)
Added a newline at the end of the file.
Merged some changes that were made to the glusterfs state module.

Cleaned up my implementation of my bug fixes.
Skip test on Darwin after making an effort
Added new ext pillar Pepa
Return the jid as well in the RunnerClient.async() return
Add cmd_sync and cmd_async methods to RunnerClient()
Document new cmd_sync, cmd_async RunnerClient methods

Also de-emphasize the direct master_call method. Since master_call is
inconsistent between RunnerClient and WheelClient we should instead
present a single, consistent interface.
Added two mixin classes, copied from RunnerClient, for executing funcs
Refactored RunnerClient to use sync/async mixin classes
Added a cmd_sync method to WheelClient

This matches the behavior and semantics of the RunnerClient() method of
the same name.
Refactored WheelClient() to use sync/async mixin classes
Added function to execute WheelClient() functions asynchronously
Added cmd_sync, cmd_async methods to WheelClient docs
Renamed call_func to cmd for consistency; made compat alias

Added WheelClient() documentation on the non-eauth cmd & async funcs.
Add 'auto' eauth backend for tests
Move eauth_creds to class-level for reuse
Add tests for the cmd_sync and cmd_async RunnerClient methods
Add runner_async and wheel_async clients to NetapiClient

Also switch from master_call to new public-facing methods.