Renamed SimpleResult to Result

* Renamed SimpleResult to Result
* Removed all deprecated result types
* Merged WithHeaders into Result since it only existed for the purpose
  of sharing functionality between PlainResult AsyncResult
* Introduced SimpleResult type alias and object as deprecated for the
  purpose of easing migration
* Updated all Java helper code that didn't compile as a result of these
  changes

However, I did NOT change any code that used SimpleResult to now use
Result.  This includes Play core code, documentation, tests, and
samples.  The reason for not doing this yet was to prove that the
SimpleResult type alias and object apply and unapply methods were enough
to ensure source compatibility with all existing code.
Switch SimpleResult to Result in all code/docs

In addition, I commented out the `SimpleResult` type alias and object.
This proves that the change is comprehensive, at least from a code
perspective (there may still be uncompiled docs referring to SimpleResult,
but I did a grep on the code to try and find them all).
Reintroduce SimpleResult type alias

Reintroduced the SimpleResult type alias for migration.

Also added 2.3 migration guide with instructions for this change.
Merge pull request #2526 from jroper/remove-scala-simple-result

Renamed Scala SimpleResult to Result