* Added the `-c|config-dir` option which should point to a temporary directory which should contain the minion's config and keys. If these are found, they're moved to the proper place.
* Added the default `minion_config` function which should work for most cases. Those that have special needs can provide their own config function which is searched in the following order:
1. config_<distro>_<distro_version>_<install_type>_minion
2. config_<distro>_<distro_version>_minion
3. config_<distro>_<install_type>_minion
4. config_<distro>_minion
5. config_minion
* Moved the exit trap function higher in order to catch the errors from creating the pipe and clean up.
* Only kill tee's pid if it's actually running.
* We now have a common function which clones salt's source and check's out the specified revision.
* We now also exit if one of the functions fails, previously we would just keep going.
Remove the distribution version revision number becuase it
* is not a large enough change to effect installs
* needs the "." separator, which is currently removed, in the version number to
be distinguished
* is not currently implemented for Sun and BSD installs
* Add support to specify the git branch or revision that should be checked out.
* We now `shift` arguments as they are used. Once we've handled them all, if there are still arguments remaining, fail.
* Minor `echo` changes.
It will be cumbersome if even possible to handle colors on shell output and no colors on logfile, and doin' this using the simplest and most portable `sh` way.
* Dropped the log function, instead we pipe stderr and stdout to both the console and the logfile.
* We now make use of 2 scripts from shtool which are involved in system detection, downloaded at runtime.
* In order to support a distribution there are some functions which need to be added to this script, all explained on the source.