Preserve original exception when re-raising exception
Rename hostname method to more accurate external_hostname
Move description for machine to a separate module
Begin testing CLI by wrapping it in its own provider