test(copy, equals): Added tests for cyclic copying and cyclic equality.
feat(equals): Equals can now handle cyclic objects.
Reformatting of copy code.