Added __clone methods to allow deep cloning behaviour
Added tests for clone, reorganised test locations.