(RE-1040) Add OS module to detect windows platform

This commit adds a Pkg::Util::OS module and windows? method. It
also provides a DEVNULL device that maps to the appropriate value for
windows and everything else.
(RE-1040) Use PATHEXT to resolve executables

Tools like git on windows are actually named 'git.exe', so we need to
take into account path extensions when resolving them.

This commit uses the PATHEXT environment variable, which is standard on
Windows, but if it is absent for some strange reason, it defaults to a
reasonable set of extensions.
(RE-1040) Use the platform specific DEVNULL device

Use the platform specific DEVNULL device, otherwise, trying to redirect
commands to /dev/null on Windows results in "The system cannot find the
path specified."
(maint) Colorize rspec output on windows

The win32console gem is needed to colorize rspec output when running on
windows and ruby versions prior to 2.0.
Merge pull request #306 from joshcooper/ticket/master/RE-1040-base-windows

(RE-1040) Support building gems on Windows
(CPR-55) Add rubocop to the Gemfile
(CPR-55) Disable some less helpful cops for rubocop

This was largely borrowed from the puppet repo. It enables several style
cops that are disabled there.
(CPR-55) Remove Gemfile.lock and add to .gitignore

The Gemfile.lock is causing problems because we won't have the same gems
on 1.8.7 and other rubies thanks to rubocop. This commit removes the
Gemfile.lock and adds it to the .gitignore to avoid this issue.
Merge pull request #318 from haus/ticket/master/cpr-55-rubocop

(CPR-55) Add rubocop to packaging repo
Add ship_signed_repo stub
Parameterize sign_rpms task to allow it to sign repos full of rpms as well.
the beginnings of a sign_repos task
Update retrieve to take local and remote target parameters, can now be used to retrieve just repos.

Conflicts:
	tasks/retrieve.rake
initial work for signing repos. only rpm currently.
dont' exit
Deprecate gpg_name in favor of gpg_key
Update task descriptions in sign.rake to be more truthful
Add helper to list all directories in a directory
Add deb repo signing method
Add createrepo task. move to method soon