Made intro paragraph for migration docs a bit clearer
Updated broken Java 8 tests to use PromiseTimeoutException

Also added migration docs to describe change, made exceptions work when
using `F.Promise.recover` instead of `F.Promise.get` and added some extra
tests.
Merge pull request #3537 from richdougherty/java-unchecked-timeout-exceptions

Updated broken Java 8 tests to use PromiseTimeoutExceptions