Array Deep Copy
Geoffrey Challen // 2020.10.0
Create a method named copy that accepts a nullable array of Items.
It should return a deep copy of the passed array: meaning that the returned array should contain references to new
copies of the objects contained in the original array.
Item provides a copy constructor that you can use to make copies.
If the passed array is null, copy should return null.