Deep copy should copy metatable
Deep copy should copy metatable

This updates the deep copy function to also copy any metatables, and
avoids the `__pairs` metamethod.

o-lim/luassert,ZyX-I/luassert,mpeterv/luassert