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
Merge pull request #5015 from hulu/git-not-defined

Check for existance of git-python before checking it's version attribute
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
Fix some pep8
Handle leading | in fileclient, Fix #5013
Merge pull request #5021 from basepi/recurse5013

Handle leading | in fileclient, Fix #5013
Only pass the retcode out to salt-call if retcode_passthrough is

set, first fix for #4904
No need to define logger instead if log(which is properly, not signaled, by pylint). PEP-8 formatting fixes.