Extract Util.shell_helpers shell code into support/shell_helpers.sh.

This should help when maintaining the Bourne shell code as it is regular
code and not in a Ruby heredoc.

Spec coverage added to `Util.shell_helpers` to ensure that file is being
correctly read in, certain functions exist, and there are no single
quotes present.
Add spec coverage for Provisioner::ChefBase configuration.
Support :require_chef_omnibus partial version strings with Chef provisioners.

This commit adds support for partial Omnibus Chef version strings that
will be passed to the Omnitruck install.sh script. For example, a
configuration of:

    require_chef_omnibus: 11

would attempt to install the latest version of Chef 11, or to use the
installed version if it was in the 11.y.z release line. Other valid
values can include:

* `"11.10"`
* `"11.12.0.rc.1"`
* `"10"`

Also included is better output when an Omnibus installation is
performed or skipped. The output attempts to more clearly reflect that
using the `"latest"` value will unconditionally install the latest
version of Omnibus Chef, no matter if it is installed or not. Similarly,
values of `true` and `"true"` produce output reflecting that the latest
version of Omnibus Chef will be installed, but only if there is no
pre-existing Omnibus Chef installation present.