Optimize when to require modules
Use OpenStruct for options to normalize interface
Improve how to abort with erro messages
Improve how to list environments
Refactor how to detect config file
Handle exceptions of ssh connection
Define completions for each shell
Refactor install/uninstall script