XD-1884 Added type validation to SimpleModuleModuleOptionsMetadata

This adds some type validation for simple modules, i.e., those only backed by property descriptors.  Before, the following command would succeed. Now we get:

xd:>stream create test --definition "http --port=foo | log"
Command failed org.springframework.xd.rest.client.impl.SpringXDException: The value 'foo' is the wrong type for option 'port'. The required type is int.
To clarify: the code path we're discussing does not care about the use provided value (apart from the fact that there is none), it returns the configured default value. Your PR validates that default value again and again (when interpolation -- ie module usage-- occurs). I'm proposing to validate when the metadata about the module is read