Add supported codename, default codename

This commit introduces a helper method to allow setting supported
"LSB" codenames with a default/fallback codename.

It may be desirable to better control the distribution codename used
on debian-ish platforms when consuming Package Cloud repositories. For
example, a repository might release packages for "trusty" only, but
those packages might install and work just fine on "lucid" or
"precise."

This is backwards compatible. If the `supported_codenames` or
`default_codenames` attributes are not specified on a resource, it
behaves as before, using `node['lsb']['codename']`'s value.

Changes:

* Add `supported_codenames` and `default_codename` attributes to the
  `packagecloud_repo` resource
* Add `distro_codename` to `packagecloud_repo` provider to delegate
  selection of the appropriate codename
* Create new recipe and serverspec test for testing this feature
* Create a test suite in `.kitchen.yml` for testing this (non-RHEL)
* Update the README describing how to use this for deb repositories
If someone is using the vmware provider for vagrant, the URL means that it will attempt to use virtualbox instead of vagrant, causing an error from vagrant. Specifying the box name here means we can use the existing box on the local system. Vagrant will do the right thing to download it.

This applies to the platform `centos-without-epel-5.10` above, too.