Use the existing pubkey for the sign in payload

Rather than making a temp file to save out the public key just to read
it back in to give to the master for sign in, we can just read the
existing public key file that was just created.
Always give saltenv argument highest priority
implemented basic mdadm.conf capability.
added more comments
Added ephemeral test directory
Merge remote-tracking branch 'upstream/develop' into sam_2014_02_03
Clean up ready for new code
A roadmap on what we're going to attempt here.
Proof of concept version
Abstract as much as possible in to a class that doesn't rely on querying the database, to make testing less painful.
Fixes for late night coding bugs
Sort keyword args so that the tests are saner.
Test cases
Support for coercing dicts to lists.

Specify fields to be hit with dict.values()
Fixes for config, pep8 and ext_pillar
Proper docs
Add random_master minion config option, which will randomize the list of available masters if set to True
modified to run with fixes
Merge remote-tracking branch 'upstream/develop' into sam_2014_02_03
Set the umask to 0077 when running verify on the minion log file to ensure that log file is created with 0600 if it does not already exist.