SmartOS esky build tooling

This includes:
Notes on how I created a build environment
The _syspaths.py that allows the esky build to be installed anywhere
"Template" SMF manifests and an install script to import them
A script for building both the esky zip and a deployable tarball
Fixing #9511 multiple PID's cause unary operator expected
not env when minion not in the top.sls

https://github.com/saltstack/salt/pull/9312
Merge pull request #9583 from halfss/patch-1

not env when minion not in the top.sls
Merge pull request #9584 from nshalman/smartos-esky

SmartOS esky build tooling
Fix lint issues. Simplify options building logic.
Fix inline code related lint issues.
Fix travis failures from merge of #9566
Merge pull request #9586 from terminalmage/gitfs-pygit2

Fix travis failures from merge of #9566
Merge pull request #9585 from s0undt3ch/develop

Lint Fixes
Fix some of the lint issues
Fix #9511 multiple PID's cause unary operator expected
Merge branch 'fix-init-script' of https://github.com/dmyerscough/salt into fix-init-script
Fix #9511 multiple PID's cause unary operator expected
Merge pull request #9588 from dmyerscough/fix-init-script

Fix init script
Make mysql returner use json to serializer return

See issue #9590

Using str to serializer data is a bad idea as there is no good way
to safely and reliable deserialize it. JSON allows this, and is what
the postgresql returner uses.
Merge pull request #9591 from davidn/develop

Make mysql returner use json to serializer return
Make the functions only get generated once instead of every pillar
Keep the functions if they are passed in
Merge pull request #9595 from jacksontj/develop

Keep the functions if they are passed in