Flesh out reduction support for half data types.

Also extended test cases for more thorough data type coverage
(including non-half data types).

Details:
- Bug fixes.
- Result type can be vector of half or array of vector of half.
- Full reflection support for [array of] [vector of] half input or result.

Bug: 27299169
Change-Id: Id674ae2ea2cce6215f152fd62bb5b124c44cfcd3
20 files changed