Add get_selections() and set_selections() for dpkg.

This module will enable to freeze a package at a certain version, with the "hold" state.
Add TODO, amend later... FIXME.
Merge my dpkg-selections branch with develop.

Resolved conflicts in modules/apt.py.
Fix merge mistake.

urllib2 and json is part of standard Python.
Use yaml.safe_load()
Add another TODO
Use code-block

As per @terminalmage suggestion.
Added mknod functionality for fifo pipes, block devices, character devices, and ancillary functions to the salt file module.
Merge remote-tracking branch 'upstream/develop' into feature_mknod
further doc tweaks
Moved operation section nearer the top to give a high level overview
before diving in.
Fix mine.send

For functions that use arguments, mine.send is broken due to bugs in
salt.utils.arg_lookup() and salt.utils.format_call(). This commit
restores proper functionality.
Remove unused variables
Move import to make it less confusing

An imported function, _parse_pkginfo(), requires the collections module.
It has been removed a couple times, causing regressions each time. Since
it is needed in just one place, this commit moves the import where it is
needed and includes a warning not to remove it.

See https://github.com/saltstack/salt/pull/7017#issuecomment-23757320
for more info.
Merge pull request #7025 from terminalmage/quickfix

Move import to make it less confusing
subprocess.Popen takes a PIPE for stdin

http://docs.python.org/2/library/subprocess.html#subprocess.Popen.communicate

   Note that if you want to send data to the process’s stdin, you need to
   create the Popen object with stdin=PIPE.
handle changes to cmd_block
Clean up some routines from refactoring
TODONE
Handle HWM setting for ZMQ >= 3.0