Update inline type docs

This commit updates the inline type docs. Previously
there was some copy/paste docs issues from
esx_service.
Add strange validation

This commit adds tons of validation to protect
against strings with nothing but whitespace being
passed in.

For some reason that I don't quite understand,
lots of effort was spent protecting our types
against the case where whitespace only strings
were passed to our types.
Explicitly raise argument error for consistently

This patch ensures that Argument Error is raised
for consistency.
Add explicit error handling to esx_maintmode

This patch refactors the provider actions into new
methods (which seems like a bit of overkill and
AFAICT makes changes to the upstream code with
little value being added).

It also adds some extremely vague error handing
that seems like it overly ambitiously catching all
exception classes, and then vaguely characterizes
them.
Improve support for removing vc_host

This patch improves the remove support for vc_host
by allowing it to either be removed from a cluster
or a datacenter.
Add comments explaining methods and add debug logging

This commits adds some minor comments explaining
what each method does as well as debug statements
to express what actions are being performed.
vc_host exception patch

changes a call from fail to raise.
Add rbvmomi requirements
do not reraise excepton

This commit prevents an exception from being raised
and also catches all possible exceptions.
Add support for target_iqn

Add target_iqn to esx_datastore
Improve support for vm creation

Adds better support for vmware vm creation
Explicitly pass transports for esx_service
Previously, the esx_service resources were not
being passed in their transports explicitly,
even though they require the transport to be
specified.

They were being set when the asm::host was
specified as a resource b/c transport is a metaparameter
which, when specified for a container is forwarded to
resources in that container.

For some reason, this behavior worked for resources
specified in a manifest, and not resources passed
through our yaml node terminus (I have not been
able to track down why this is the case).
Update esx_datastore example

TO show how pun or target_iqn can be used.
Add esx_port group type
add esx_fcoe type
Add esx_get_iqns

This adds a type that is very confusing. It looks
like it is responsible for getting iqns from hosts.

Types are for managing. is this support to be a type?
Should it just be a library?
esx_meme

Another confusing type. It has properties that are
verbs (instead of nouns) which goes against the
design intention of types in Puppet.

It almost feels like a type was created when
a property should have been created.
Adds a type for managing vnic config
type for managing vm shapshots
type for managing esx_vswitch