XD-953: options metadata

This is a first POC for XD-953.

Supports the following grammar at the NamespaceHandler level atm:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/integration"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:xd="http://www.springframework.org/schema/xd"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/xd
		http://www.springframework.org/schema/xd/spring-xd.xsd">
<xd:options>
   <xd:option name="foo" description="the foo stuff" type="java.lang.Integer" (1)
          default-value="4"    (2)
          default-expression="bar + 5"   (3)
    />
   <xd:profile name="use-foo" when="foo > 5" />
</xd:options>
</beans:beans>
```

Everything but name is optional
(1) friendly name mappings are also available (like int for java.lang.Integer)
(2) and (3) are exclusive

I'm thinking about splitting between public and private options, i.e.
```xml
	<xd:options>
		<xd:option name="binary" type="boolean" default-value="false"
			description="if false, will append a newline character at the end of each line" />
		<xd:option name="charset" default-value="UTF-8"
			description="the charset to use when writing a String payload" />
		<xd:option name="dir" default-value="/tmp/xd/output/"
			description="the directory in which files will be created" />
		<xd:option name="suffix" default-value="out"
			description="filename extension to use" />

		<xd:option name="name" default-expression="xd.stream.name"
			description="filename pattern to use" />
		<!-- private -->
		<xd:computed-option name="extension" expression="suffix.trim() == '' ? '' : '.' + suffix" />
	</xd:options>
```

and in the file.xml module:
```xml
...
    filename-generator-expression="name + extension" />
...
```
description would then be mandatory for "normal" options