Enable building folly/Optional.h with coroutines on and exceptions off
Enable building folly/Optional.h with coroutines on and exceptions off

Summary:
`folly::detail::OptionalPromise<Value>` won't build with exceptions turned off
(e.g. by passing `-fno-exceptions` on Clang's command line) because its
`unhandled_exception()` says `throw;`.  This diff replaces the `throw;` with a
call to `folly::rethrow_current_exception();`.

Reviewed By: yfeldblum

Differential Revision: D21655976

fbshipit-source-id: 5f431372f2494a09f98e3b8c36a94e8475efff29

facebook/folly,facebook/folly,facebook/folly,facebook/folly,facebook/folly