Added ability to return exceptions from futures

Default behavior is still to raise them