Switch Async tests to importing mock module
Add unit tests for Async result persist logic
Make line length shorter
Add support for unique id to Async

If an id is given, the Async will use that id.  If an id is not given, a
unique id will be generated at instantiation time.
Make sure that passing id to update_options works as expected
Merge pull request #123 from WebFilings/async-id

Make Async id work right and test persist result
Improve Context id generation and unit tests
Add unit test to ensure an Async only generates one id
Rearrange default _process_results function
Make Context call persist after task insertion

First pass at making Context call persist after inserting its tasks.  I
think this isn't quiet correct though.  Each Async needs told it should
be firing the Context's "check complete" function after running.
Probably this can be hooked into the Async's callback logic.
Merge branch 'context-completion' into simple_completion