XD-1109 Coerce command line options

Uses Spring boot support for binding to a POJO.

The error messages arguably need to be customized though. Note that 2 kinds of errors can happen here (if we insist on using typed arguments in the form of enums):
1. Wrong value (eg transport=foo). This prevents the binding altogether and is caught by Spring binding)
2. jsr303 validation (eg NotNull)

thus, two flavors of messages to customize.

Also, even though setXdTransport() should accept the XD_TRANSPORT syntax, I did not manage to have it working. Maybe a boot bug, will investigate with @dsyer