Add force_reload for debian_service, upstart and systemd and use it as default in mod_watch if available
salt.utils: add is_linux() and is_windows()

These were mainly added after I saw the 2/3 different ways various
places in the salt code check to see if a platform is indeed windows
or not and I wanted to consolidate them all including the grains before
there necessarily is __grains__['os'] to rely on.
Switch the core grains to salt.utils.is_windows()
Move windows detection to using salt.utils.is_windows()

Also makes the reg and win_network modules not attempt to load when
there are missing python modules.
Clean up some logic in the utils python module

Also re-arrange the imports by size due to my OCD
Fix problem with attribute checks when data looks like:
"[(u'bus', u'ide'), (u'dev', u'hdb')]"
Bugfix problems with spaces in filenames
Also disable shell=True for security purposes
Force Gentoo-based distros to use full pkg name

Do not proceed unless package names are provided using the
category/pkgname format. For packages submitted without the category
name, offer suggestions from the portage tree.
Add parsing for qemu-img snapshot list
Added sys.doc runner

Fixes #2954
Remove debugging that got left in
Add "" around values, so yaml doesn't serialize to datetime and etc.
windows code review update thanks to @s0undt3ch
Use the correct path to ZMQBaseError for older zmq versions

Fixes a FTBFS with older zmq I accidentally introduced.
Merge pull request #3011 from torhve/develop

Fix problem with attribute checks when data looks like:
Merge pull request #3013 from whiteinge/sysdoc-runner

Added sys.doc runner
Merge pull request #3018 from techhat/develop

Add basic Linux LVM support
Merge pull request #3019 from archtaku/issue3008

Force Gentoo-based distros to use full pkg name
Remove platform-specific code from pkg state

Platform-specific code from #3019 has been moved to pkg_resource module.
This code may evolve a bit down the road. Presently it will only check
syntax if the package is coming from the portage tree via ebuild.
However, future support for entropy (binary pkg manager), as well as
expanding syntax checking for binary package files should be considered
TODO items.
Merge pull request #3020 from archtaku/issue3008

Remove platform-specific code from pkg state