Solaris/SmartOS: Handle services in maintenance

SMF has a concept of the maintenance state where the
system knows the service is broken which requires an
explicit "svcadm clear <service>"

"svcadm enable -s <service>" returns code 3 when the service
is in maintenance (-s means wait to see how enabling went)

Salt should notice a return code of 3, attempt to clear
the service and try to enable one more time.

Common use case is a broken configuration file.
The user pushes a fix to the config file with salt which should
clear the maintenance state and attempt to enable the service
again.
modules/smf.py: pylint fixes / cleanup
Added /etc/host check for empty lines
Inline comment spacing violated pep8, removed comment as it added little
More concise fix for empty /etc/hosts line check
Run windows specific code on windows only!
Add test for salt.config.get_id() when /etc/hosts is parsed

This is a WIP, the mocking isn't quite working yet.
Test is now fixed.
Add more get_id tests + some DRY fixes
Tweaks to get tests running and passing on 2014.1 branch
Add comment about importance of empty line
Remove extraneous UTF8 coding line
SmartOS/Solaris: fix SMF service management

fixes saltstack/salt#10702

The functions previously named get_enabled and get_disabled
actually only queried what services were running or not

This caused breakages where a state that both requested
"enabled" and "running" could cause salt to start the
service which would make it appear in the list of
enabled services, but not actually get enabled
and thus not actually come back up on reboot

Those functions have been renamed to get_running
and get_stopped

An accurate enabled function has been written
which queries the true property that determines
if a service will come up at boot
and disabled returns its negation.

New get_enabled and get_disabled functions have
also been written which accurately return the
list of enabled or disabled services
Those functions return full FMRIs (rather than the
much shorter 'SVC' column) because that's how
SMF actually works internally.
Merge pull request #10730 from terminalmage/tests-2014.1

Fix for minion_id detection regression + unit tests (2014.1 branch)
Merge pull request #10737 from nshalman/smartos-smf-2014.1

SMF Fixes (SmartOS / Solaris) 2014.1 backport
Update to latest bootstrap script, v2014.02.27
Merge pull request #10819 from s0undt3ch/2014.1

Update to latest bootstrap script, v2014.02.27
Clear remote fs backend env cache on master start

Clear remote fileserver backend env cache so it gets recreated during
the initial loop_interval. Allows envs to be rebuilt if changes are made
to an env whitelist/blacklist.
Merge pull request #10842 from terminalmage/clear-env-cache-2014.1

Clear remote fs backend env cache on master start (2014.1 branch)