HPCC-12290 Reimplement jarray using templates

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
The main reason was I got confused.  I had been using SELF.  Then I added the MAPPER with a default argument and forgot to update the definition of SELF.  It meant I got some very weird compile errors....
Having changed it to this-> I'm not sure which I prefer.