Make rebuildCachedFields protected. Re-factor the code to make methods a bit smaller and more understandable (joint effort with Martin).

git-svn-id: http://kryo.googlecode.com/svn/trunk@380 a9660ef0-a895-11de-8ba5-91705c1537ed