Renamed privilegedactions to actions.
Commands can be executed asynchronously and as non-root.

If commands are executed synchronously, they'll return output and
error strings.  If commands are executed asynchronously, nothing is
returned.  We assume you can communicate with asynchronous processes
out-of-band.

Not every command needs to be executed as root, so there's a new
entry-point, *actions.run*, which executes actions as the current
user.
Merged async actions.