Promise API additions and Java 8 tests

Add Java 8 versions of the Promise tests.

Add recoverWith, fallbackTo, and transform methods to Promise.