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
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.
Parse backing file from qemu-image info output

I'm deplying thin clones of VM's using the qcow2 disk format.  One of the lines
of the qemu-image info command reports the filename of the base disk.

   $ qemu-img info /work/aantony/kvm/ajith-sl6-2.qcow2
   image: /work/aantony/kvm/ajith-sl6-2.qcow2
   file format: qcow2
   virtual size: 20G (21474836480 bytes)
   disk size: 1.0G
   cluster_size: 65536
   backing file: ./ajith-sl6-base-image.qcow2 (actual path: /work/aantony/kvm/./ajith-sl6-base-image.qcow2)

This last line is breaking the yaml parser:

   backing file: ./ajith-sl6-base-image.qcow2 (actual path: /work/aantony/kvm/./ajith-sl6-base-image.qcow2)

   ScannerError: mapping values are not allowed here
     in "<string>", line 6, column 51:
        ... l6-base-image.qcow2 (actual path: /work/aantony/kvm/./ajith-sl6- ...

This change aims to at least parse that line.

Results look like this:

  ----------
    ----------
    ajith-sl6-2:
        ----------
        cpu:
            1
        cputime:
            6383750000000
        disks:
            ----------
            hda:
                ----------
                backing file:
                    /work/aantony/kvm/./ajith-sl6-base-image.qcow2
                cluster_size:
                    65536
                disk size:
                    1.0G
                file:
                    /work/aantony/kvm/ajith-sl6-2.qcow2
                file format:
                    qcow2
                image:
                    /work/aantony/kvm/ajith-sl6-2.qcow2
                virtual size:
                    20G (21474836480 bytes)
     <...>
Merge remote-tracking branch 'upstream/develop' into feature_mknod
Added additional mknod logic and a dictionary return object
Configuration file for SuSEfirewall2 used in openSUSE

This should probably be looked over by the Suse RPM package maintainer.
Untested on SLES.
Some minor changes to the documentation
Indentation in comment block.