Add support for overriding publish platform/version

This is useful in situations where packages that are build on one platform/version are tested and released on 1..n other platforms/versions. For example, one might build on Ubuntu 10.04 and test/publish on Ubuntu 
11.04, 12.04 and Debian 7.

/cc @opscode/release-engineers 
Not to be a pedant but we have really only been documenting public methods. For example what about the `#safe_require` below.