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.
first working draft of a best practices document.
only use token_file if modified within token_expire time
use time.mktime, not time.strftime
Merge remote branch 'upstream/develop' into develop
Merge remote branch 'upstream/develop' into develop
Fixed a typo in the best practices doc for referencing location of vim content.
Added an initial draft of some of the beginning of the pillar section, still needs to be revised.
include msgpack in thin.tgz

While msgpack is an extmod (it uses an platform-dependent .so) it
includes a pure python fallback.  Including it in thin will not create
a protability problem.
Preserve stdout, stderr and retcode from salt-ssh raw command

salt-ssh raw mode only emits stdout lines; it emits neither stderr nor
the return code.  salt-ssh raw works more like cmd.run rather than
cmd.run_all.  Preserving stdout, stderr and the return code are
imperative for validating the results of a salt-ssh raw command.

This stores 'stdout', 'stderr' and 'retcode' in the ret dictionary so
that the complete information can be emitted by the outputter.

Fixes #10432
Appease the pylint gods.

Fixes #10432
Merge remote branch 'upstream/develop' into develop
Fleshing out the section on pillars, restructured part of the doc to provide a better flow.
Added some links.
Link fix.
Fix the formulas link.
add another link, fix some formatting.
Merge remote branch 'upstream/develop' into develop
Fleshed out a ton of sections, added more verbose examples.
Added some more example info for a somewhat confusing section.