JField is no longer a JValue

This means more type safety since it is no longer possible
to create invalid JSON where JFields are added directly into JArrays for
instance. Most noticeable consequence of this change is that map, transform, find and filter come in two versions:

    def map(f: JValue => JValue): JValue
    def mapField(f: JField => JField): JValue
    def transform(f: PartialFunction[JValue, JValue]): JValue
    def transformField(f: PartialFunction[JField, JField]): JValue
    def find(p: JValue => Boolean): Option[JValue]
    def findField(p: JField => Boolean): Option[JField]
    ...

Use *Field functions to traverse fields in the JSON, and use the functions
without 'Field' in the name to traverse values in the JSON.
Fix version reference for lift-json migration info.

We now know that 2.6 will be the last 2.x release, and that the
JField </: JValue change will be in 3.0.0.
Improve formatting for readability in JsonAST.
Merge branch 'lift_30' into joni_scala_2.10

Conflicts:
	core/json/src/main/scala/net/liftweb/json/JsonAST.scala
	core/json/src/main/scala/net/liftweb/json/JsonParser.scala
	core/json/src/test/scala/net/liftweb/json/DiffExamples.scala
	core/json/src/test/scala/net/liftweb/json/Examples.scala
	core/json/src/test/scala/net/liftweb/json/JsonAstSpec.scala
	core/json/src/test/scala/net/liftweb/json/LottoExample.scala
	core/json/src/test/scala/net/liftweb/json/XmlExamples.scala
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.
Merge pull request #1584 from lift/joni_scala_2.10

JField is no longer a JValue. It is instead a free standing case class with a name and value. As a result, there now exist mapField, transformField, and findField for working with these new case classes.