Docs fix: surfacearea() should return float, not int
Support metadata consisting of arrays of any of the simple types.
Also, overhaul oslquery/oslinfo metadata parsing, it was quite brittle
and broken for aggregate types such as colors.