The play run and start commands now respect javaOptions
Run scalariform-format, which apparently tweaks some whitespace.
Use a Production scope for javaOptions for the start command
Add overloaded playRunTask method to maintain backwards compatibility.
Protect directory names in "play" script with quotes. Fixes #1858.
Protect directory names with quotes in all other shell scripts as well.
Ensure SBT plugin sources get published

Fixes #1863
Filters should be executed on every single request, even those not in the routes file.
[#1076] Avoid warnings in Concurrent

[warn] framework/src/iteratees/src/main/scala/play/api/libs/iteratee/Concurrent.scala:582: Adapting argument list by creating a 2-tuple: this may not be what you want.
[warn]         signature: SeqLike.:+[B >: A, That](elem: B)(implicit bf: scala.collection.generic.CanBuildFrom[Repr,B,That]): That
[warn]   given arguments: index, Cont(k).$minus$greater(p)
[warn]  after adaptation: SeqLike.:+((index, Cont(k).$minus$greater(p)): (Int, (play.api.libs.iteratee.Iteratee[E,_$6], scala.concurrent.Promise[play.api.libs.iteratee.Iteratee[E, _]])))
[warn]                 case Step.Cont(k) => commitReady.single.transform(_ :+ (index, (Cont(k), p)))
[#1076] Avoid warning in parsing

[warn] framework/src/iteratees/src/main/scala/play/api/libs/iteratee/Parsing.scala:75: Adapting argument list by
creating a 2-tuple: this may not be what you want.
[warn]         signature: Future.successful[T](result: T): scala.concurrent.Future[T]
[warn]   given arguments: Array[Byte](), Cont(k)
[warn]  after adaptation: Future.successful((Array[Byte](), Cont(k)): (Array[Byte], play.api.libs.iteratee.Iteratee[play.api.libs.iteratee.Parsing.MatchI
nfo[Array[Byte]],A]))
[warn]               val fed = result.filter(!_.content.isEmpty).foldLeft(Future.successful(Array[Byte](), Cont(k))) { (p, m) =>
[#1076] Avoid warnings in Enumerator

[warn] framework/src/iteratees/src/main/scala/play/api/libs/iteratee/Enumerator.scala:286: Adapting argument list
 by creating a 2-tuple: this may not be what you want.
[warn]         signature: Some.apply[A](x: A): Some[A]
[warn]   given arguments: true, true
[warn]  after adaptation: Some((true, true): (Boolean, Boolean))
[warn]       val attending: Ref[Option[(Boolean, Boolean)]] = Ref(Some(true, true))
[#1076] Avoid using risky var when val is possible
[#1076] Marking the queue volatile
Fix #818 by making QueryStringBindable.bindableString.unbind("key", null) map to "key=" (empty value)
[#1125] Adds hgignore when generating new app
[#1109] Implement scala collections on Configuration
[#1109] Implement tests
[#983] Make Json.reads output a shiny error on Empty case class
[#983] Make Json.formats output a shiny error on Empty case class
[#983] Make Json.writes output a shiny error on Empty case class