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
These are real repos, but we're not actually installing any packages. The spec checks that the content was rendered correctly based on what attributes are specified here.