Add support for `@Option` attached to task properties of type `Property<T>`. Collection properties are not yet handled, nor is `@OptionValues` attached to a task property of type `Provider<T>`.
Also, for task properties of type `List<T>`, convert the elements to the declared element type, rather than just forwarding a `List<String>`.