Switch processor to use an AsyncResult
Add ContextResult and error tracking

Add a ContextResult object with an error flag and a results iterator.
Switch AsyncResult.result to payload and add to_dict method

Convert the result property on AsyncResult to payload and add a to_dict method
that converts the result to a dict. If it has an error status it will stringify
the traceback and remove the exception object to make it serializable.
Fix up error handling in AsyncResult

Get the AsyncException to correctly serialize so it can be passed around and
stored on things like the async marker.

Also add tests to ensure that exceptions are raised correctly.
Switch ContextResult to an abstract class

Also cleanup some issues from code review
Add test for failure in context results

Add a test to ensure the failure is correctly encoded and returned when one of
the markers in the context has an exception.
Add docstring to success property on AsyncResult

Add a doc string to help clear up any confusion on the success flag of the
AsyncResult.
Fix some spelling issues
Merge pull request #1 from beaulyddon-wf/add_result_object

Add ContextResult and error tracking