Clarifies management of array property values

Javadoc for set/getProperty in PropertyContainer is expanded to note how
 array values are handled and stress the need for making defensive copies
 when those values are modified.
PropertyConversion no longer copies primitive arrays as that counts as
 an expensive defensive copy which with the javadoc clarification is now
 a user responsibility. Unboxing arrays still copies them though.
Adds a test for ensuring the correct behaviour happens at the API level.