Make JField a proper case class again.

Notably it does NOT extend JValue, but it is not simply a
tuple either.

Also sundry compilation fixes to make everything work well
and proper.
Fix docs for case class JField.