In this wrapper, all scalar integers and doubles are actually written
and read as 1D arrays with 1 element.  Therefore, I simplified the
scalar reads to call the 1D reads and cut down on a lot of duplicate code.

This behavior is consistent with the old Insilico and MPACT.
However, the new Insilico uses "true" scalar values so now I have
to add some new logic to read these...