Changes made to cater for circular referenced classes

Just FYI, this is my first contribution to an github open source project and I have't really used git all that much, so if I am going about it wrong, please let me know, only ever contributed to Hazelcast back when they were still on SVN.

As per the known limitation:
If a bean contains data with circular references, a StackOverflowError will be thrown during comparison.

I ran into this on my work project last week, I did a little research and found the GraphAdapterBuilder from GSON, it seemed to do the trick.

Tried it out here with a simple test, will run it on my work project during the week.

Have a look when you have time, I'll be happy to change what is needed, or if you have a better idea what to do with the GraphAdapterBuilder class.

Just thought I would submit this request so long, to get the ball rolling.

Regards,
Brian