Add cygwin package installation

Currently only hadles adding packages. Does not remove packages. It is
setup to update packages any time it is run, but there is no independent
update functionality.
Curently no unit/integration testing is done. I haven't wrapped my head
around the way the mocking and stuff is done yet.
Added update and uninstall functions

Should be able to remove and update things now. Also doesn't always
update when installing anymore. Update now only called via
salt['cyg.update']()
Added update and uninstall functions

Should be able to remove and update things now. Also doesn't always
update when installing anymore. Update now only called via
salt['cyg.update']()
Merge branch 'addCygwin' of github.com:s7726/salt into addCygwin
Installation is now working

usage:

cyg.installed:
    - names:
      - dos2unix
      - ssh
      - vim
      - tmux

Some of you may notice that 'ssh' is not a cygwin package, 'openssh' is. Currently it is reported as successfully installed. My next step is to check the list of named packages against the available packages and return false if they don't exist.

Have not tested package removal.
Now checks if the package name is valid

Currently fetches the entire package listing for each check. Next step
is to cache the packages for each session. I read about one of the
__var__'s that salt has that does caching like that.
Cache the package listing per run
Package removal is working
Added ability to update all installed packages

Cygwin does not appear to have a way to just upate individual packages.
Also probably not a good idea since it can all be pretty tightly
coupled.
Pep8'ified
Some more style fixes, swap before and after diff

Only functional change is to fix the order of the diff. It is correct
now.
Add cyg mirror support
Merge branch 'addCygwin' into develop
Fix issues from jenkins
More cleanup for jenkins and remove unused code

Removed the large blocks of commented code. I thought they would be
useful but cygwin and ruby treat mirrors/repos completely differently
and the mechanic for maintaining them is not the same.
Merge pull request #15215 from s7726/develop

Add cygwin package management