some code clean-ups, better javadoc, and a small fix regarding handling
of sub-property chain inferences caused by reflexivity (with a new test)