Fixes #185, #186, #188 (Adds optional parameters and options flag to model classes)

This pull request adds support for optional metadata parameters to our Hanlon models, along with ability to set those metadata values (both optional and required) using a YAML file. It also includes modifications to the `vmware_esxi` model that demonstrate how such optional metadata parameters might be used (in this case providing support for collection of truly optional parameters in this model) and cleans up the help output in the Hanlon CLI. Finally, this pull request also adds support for parsing of options specified in the new optional metadata hash to the model slice's RESTful API. With these changes in place, we should be good to go when it comes to optional metadata values and for specifying values for those metadata values via an external YAML file.