Fixed StackOverflowError when recursively visit object's field

Fixed StackOverflowError when recursively visit object's field. When
ReflectionLibraVisitor.visit(...) calculates size of an object, it
recursively goes through all its fields. If object contains a HashMap
which contains itself, a loop is formed.  I add a LinkedList to member
all processed fields to avoid the loop.
Create new instance of ReflectionLibraVisitor upon weighting each object
Reverted the usage of ReflectionLibraVisitor.INSTANCE, String size and added a test
Merge pull request #3 from wolfc/twoway

 Fixed StackOverflowError when recursively visit object's field.