(QENG-695) beaker workflow with pry

- add pry gem to development environment
(QENG-740) Insert a flag into the options hash when doing a PE upgrade
(QENG-743) Beaker options hash 'merge' should not modify the...

...global settings
- merge was behaving like merge!
- merging two OptionsHash objects should result in a new OptionsHash
  and not affect the original hashes at all.
(QENG-40) remove expandpath from file loading in beaker require blocks

- just use an expected path in requires
Merge pull request #287 from branan/qeng-740

(QENG-740) Insert a flag into the options hash when doing a PE upgrade
Merge pull request #288 from anodelman/options-hash-merge

(QENG-743) Beaker options hash 'merge' should not modify the...
create beaker 1.12.1 gem
Merge pull request #291 from anodelman/make-gem

create beaker 1.12.1 gem
Add option to enable and set package manager proxy url

With this feature you can set the proxy url for the package manager.
Currently supports Yum and Apt package managers.
Merge pull request #290 from anodelman/remove-expand-path

(QENG-40) remove expandpath from file loading in beaker require blocks
Merge pull request #285 from anodelman/pry-support

(QENG-695) beaker workflow with pry
Support custom hypervisors
Merge pull request #247 from JHaals/hypervisor

Support custom hypervisors
Removing unnecessary `razor` wrapper function

The `razor` function was unnecessarily defined in the
wrapper, which was overriding a helper definition.
Merge pull request #294 from smcclellan/remove-unneeded-razor-method

Removing unnecessary `razor` wrapper function
Merge pull request #273 from electrical/feature/proxy

Add option to enable and set package manager proxy url
Add vagrant_fusion and vagrant_virtualbox providers

Currently the vagrant hypervisor provider just does virtualbox. This
allows the vagrant vmware_fusion plugin to be used instead.
Split vagrantfile sections into sub-providers