Fixed future.onComplete and future.onFailure when an exception in thrown inside a Future
Changed Future.apply(result: => Result[T]) to Future.async
Added a Future integration test
Converted most pimp classes to also be value classes