add uuid parsing

add UUID support for get values

style checking
Add a warning when flashing is used with something other than redirect.
Make FormUrlEncoded Data Preserve Parameter Order. Fixes #1814

* Write play.utils.OrderPreserving.groupBy to abstractly do groupBy while preserving order
* Created a separate module because there might be a need for other OrderPreserving things later.
* Utilize OrderPreserving.groupBy in FormUrlEncodedParser.scala so that it can return ListMap instead of Map
* Adjust ContentTypes, Fakes, and JavaParsers to use ListMap instead of Map for FormUrlEncoded bodies
* Write new test case for validating FormFieldOrder being received correctly out of the pipeline
* Extend test case for FormUrlEncodedParser to ensure it maintains parameter order.
Enumerator.onDoneEnumerating invoked for failures

Typically, Enumerator.onDoneEnumerating is used to clean up resources.
Hence it can be considered the equivalent of a finally block.  However,
it's not implemented that way, it only implements if the iteratee
successfully consumes all its input.

This results in resource leaks, for example, `Enumerator.fromStream` was
using it to close passed in input streams.

Now it's implemented such that whether the iteratee successfully
consumes the input, or fails, the callback will be executed.

Fixes #1912
Fix for 992.

Move WS into its own Scala and Play modules and add documentation.
Fix specs to include tests, rename play-ws-java to play-java-ws.
Add tests to verify that the WSPlugin loads correctly.
Documenting Messages' apostrophe handling, adding messages.path configuration option.

This is a squashed commit. For people looking back with git-blame, here's
justification for my actions.

----------------------------------------------------------------------------
Documentation clarification

"can be" suggests that MessageFormat is optional, but the example doesn't
show any way to override this.

If this is incorrect, a more complte example should be added beside the
basic usage example.

----------------------------------------------------------------------------

Clarifying missing apostrophes for the uninitiated

Not having a Java background, I had never encountered java.text.MessageFormat,
and had no idea why my apostrophes were disappearing.

----------------------------------------------------------------------------

Adding messages.path configuration option

When loading a messages file, prepend messages.path before attempting to
find the resource.
Add commons-codec
Unwrap ExecutionException in handleError (e.g. to enable AssertionError to be displayed)
Display exception text as preformatted text

So that the error marker (^) points to the correct position. Also make the font size smaller to reduce wrapping/clipping caused by very long Type name (e.g. mapping type).
Make scalariform happy
Remove spurious WS import.
[#1938] Return 400 on bad URI
[#1942] Call Enumerator.fromCallback1 onError parameter
[doc] Add a line about test:console to ScalaTest.md
Make exception text a bit larger, add overflow: auto
Merge pull request #1945 from char101/patch-2

Display exception text as preformatted text
Merge pull request #1951 from wsargent/patch-2

[doc] Add a line about test:console to ScalaTest.md
Merge pull request #1950 from baloo/improvements/1938-Invalid-URI-return-400

[#1938] Return 400 on bad URI
Merge pull request #1886 from blast-hardcheese/master

i18n documentation clarification wrt apostrophes
Merge pull request #1912 from jroper/1912-enumerator-resource-leak

too many files open bug