Change LinuxAdmin.run to return a CommandResult object.

LinuxAdmin.run().output      - returns the standard output.
LinuxAdmin.run().exit_status - returns the exit code.
LinuxAdmin.run().error       - returns the standard errror.
LinuxAdmin.run().exception   - returns any exception.

LinuxAdmin.run! was added to behave similarly to the old run's functionality in that it raises an exception on failure.
CommandResultError is raised on a non-zero exit status.
The failed system call exception is raised on a bad command such as: Errno::ENOENT: No such file or directory.
Update system related classes to use the new run!/run interface.

run was changed to run! in cases where the prior run would have raised an exception.
Update package related classes to use the new run!/run interface.

run was changed to run! in cases where the prior run would have raised an exception.