First pass at AutoContext

Intended to automatically insert asyncs in batches (asynchronously) as
they are added to the context.
Separate _tasks_inserted set from insertion

Move most of handle_tasks() into _handle_tasks() to allow
AutoContext to insert some tasks before fully exiting.

Also add a parameter to allow different batch_sizes.
Add constant
Add test to ensure AutoContext adds tasks to queue

Also ensure they are added correctly in batches.
Add tests with None batch_size and not tasks

When batch_size is None, AutoContext will act like Context, where all
tasks are inserted at once when the context is exited.

Ensujre that when no tasks are added, there are no errors.
Add comment and remove unused variable and imports
Merge branch 'master' into auto_context

Conflicts:
	furious/context/context.py
Merge pull request #105 from ericolson-wf/auto_context

Add AutoContext to automatically insert tasks in batches