HPCC-12290 Reimplement jarray using templates

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
What are the rules/conventions for naming these? I never quite understood them before, but it looks like you have done some rationalizing of them so perhaps there's a chance I may do so now. Are they described anywhere?