Add support for adding APT preferences

Hi folks,

we've added support for APT pinning. It's modeled after the `sources` lists.
Example looks like this:
```
	"packages": {
		"mirror": "http://cloudfront.debian.net/debian",
		"sources": {
			"puppet": ["deb http://apt.puppetlabs.com wheezy main dependencies"]
		},
		"preferences": {
			"main": [
			{
				"package": "*",
				"pin": "release o=Debian, n=wheezy",
				"pin-priority": 800
			},
			{
				"package": "*",
				"pin": "release o=Debian Backports, a=wheezy-backports, n=wheezy-backports",
				"pin-priority": 760
			},
			{
				"package": "puppet puppet-common",
				"pin": "version 2.7.25-1puppetlabs1",
				"pin-priority": 840
			}
			]
		},
			"install": ["puppet"],
			"trusted-keys": ["/home/admin/bootstrap-vz/puppet.gpg"]
	}
```

Cheers,
Jan & @Bonko