dpkg selections

Adds support for dpkg --get-selections and dpkg --set-selections to Salt. The main reason for this is to support setting a package in a "hold" state.

This PR is an alternative to the #6876 PR by @hdonnay. That PR is more to the point. This PR is more verbose and in my opinion allows more flexibility. I'll be happy with either solution.

There's a caveat with my PR -- there's a couple of TODOs. If the consensus is to move forward with this PR then I will be happy to amend those. I was reminded of this local branch when @hdonnay pushed his PR so I wanted to push this up for review.

NOT SAFE FOR MERGE UNTIL THE TODOS HAVE BEEN LOOKED OVER