Incorporate null handling

Null parameters to these methods are handled as shown in the Javadoc.
Test deepCopyOf null handling (avoid infinite recursion)
Add a test for ArrayUtils.checkStructureSame