Add async task insertion to Async

If you pass async=True into Async.start() then it will use the
asynchronous add method of the Queue instead of the regular one.
Fix a few notes

Move an import and re-add a TODO note.
Merge pull request #107 from tannermiller-wf/async_task_insertion

Add async task insertion to Async
Ensure task batches are not greater than 100

When using AutoContext, a custom batch_size can be set.
Force the custom batch_size to always be less than 100 since
that is the max that can be added to an app engine taskqueue at a time.
Merge pull request #113 from ericolson-wf/100tasks

Ensure task batches are not greater than 100
Exclude example directory from setup

This resolves issue #110.
Merge pull request #114 from tylertreat-wf/setup_fix

Exclude example directory from setup
Update setup.py
Fix rednose versioning.
New function in queues.py for running tasks in queues randomly.  Includes unit tests for new functions.
Updating doc strings and minor test change.
Merge pull request #115 from mattsanders-wf/test_stub_random_runner

Random task queue runner
Update setup.py to 0.9.2
In test, only tasks with async urls are run.

Tasks with other urls are ignored, and not run.
Merge pull request #116 from jasonaguilon-wf/test-stub-fix

In test, only tasks with async urls are run.
_execute_task unit test for non async url
missing logging import for queues.py
Merge pull request #118 from jasonaguilon-wf/test-stub-fix

Missing logging import statement in queues.py test_stub
Update setup.py to 0.9.4

Update version to 0.9.4 in setu.py
Merge branch 'master' of github.com:WebFilings/furious into better_test_runner

* 'master' of github.com:WebFilings/furious:
  Update setup.py to 0.9.4
  missing logging import for queues.py
  _execute_task unit test for non async url
  In test, only tasks with async urls are run.
  Update setup.py to 0.9.2
  Updating doc strings and minor test change.
  New function in queues.py for running tasks in queues randomly.  Includes unit tests for new functions.