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
Not thrilled with regexes here, but it seems like the most sensible and cross-version way to go about it. Especially that riak-cs one, since that will actually vary for each version in the test kitchen suites.