workaround for FrozenList strict type check
ENH: Add deep=True kwarg to copy and fix copying.

Also, `__deepcopy__` just calls `copy()`
TST: Add copying test cases