Fixed bug - false detection of circular reference

There was a bug in detection of circular reference.

It was adding the class of each field as it was entering it, but it wasn't removing it once it exists the field.
As a result, any class with 2 or more fields of the same class was wrongly giving an error.

Added 
visited.remove(clazz);
to fix it.

Note the pull request has 2 commits even though one is already merged.
The fix consists only of commit https://github.com/parvanov/jsonrpc/commit/e89c8b7a2c6cf758544177ebbbdaf300dba2dba8