Add PDoubleArrayOutput protocol
Add to-double-array function
Add default PDoubleArrayOutput implementation
Implement DoubleArrayOutput for double arrays
Double array compliance tests
Misc tidying