Remove dependency on org.apache.commons:commons-lang3

- Replace all toString implementations to use a custom StringBuilder
  implementation instead of using the connivence toStringBuilder from
  commons-lang3
Mark all fact type classes as final