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.
add() receives a ModuleOption, so should have access to that value.
There is one caveat though, which is that EnvironmentAwareModuleOptionsMetadataResolver does that:
```java
public ModuleOptionsMetadataWithDefaults(ModuleOptionsMetadata wrapped, ModuleDefinition moduleDefinition) {
			this.wrapped = wrapped;
			this.moduleDefinition = moduleDefinition;
			for (ModuleOption original : wrapped) {
				Object newDefault = computeDefault(original);
				if (newDefault != null) {
					// This changes the value by side effect
					original.withDefaultValue(newDefault);
				}
			}
		}
```