pkg/smartos : add compatible manifests for the SmartOS platform

Manifests in pkg/solaris are using /etc/salt which is innapropriate
for SmartOS design (/etc is removed @reboot). I suggest to add a
new directory in order to preserve existing Solaris installations
(and SmartOS one which are based on those manifests).
Use clean/require in file._check_directory state, Fix #4777

Actually check for file removal if test=True
Handle `clean` logic even if `recurse` is not set
Check for existance of git-python before checking it's version attribute
Merge pull request #5011 from virtua-network/develop

pkg/smartos : add compatible manifests for the SmartOS platform
Fix problem with cmd.run with onlyif and unless
Merge pull request #5015 from hulu/git-not-defined

Check for existance of git-python before checking it's version attribute
pop values directly into new var
Merge pull request #5016 from UtahDave/develop

Fix problem with cmd.run with onlyif and unless
Add nic option to virt runner
Start on cloud controller tutorial
Add doc on salt virt ethernet control
Merge pull request #5014 from basepi/checkdir4777

Use clean/require in file._check_directory state, Fix #4777
Add valid_id commit to vulnerability report
Fix fomatting
Add salt/virt to toc
Add index to salt cloud controller
No need to define logger instead if log(which is properly, not signaled, by pylint). PEP-8 formatting fixes.
Merge pull request #5020 from s0undt3ch/hotfix/lint-and-formatting

Lint + Formating + PEP-8