adding basic grep example
adding handler to app
changing searching to regex
renaming callback from all_done to log_result
fixing typo in README and moving grep import to top of __init__.py
Correct Async.from_dict to not mutate source options dict.

Async.from_dict mutated the options passed in as the argument.  Such
unexpected mutations are not friendly and may be dangerous.
Transplant encode / decode callback logic to job_utils.

The callback encoding logic is required by other objects as well, such
as Context.  Because of this, they should be split into a more "neutral"
location than async.py.
Fix broken unit test around default pull queue for messages.
Add MessageProcessor and insert_messsage_processor to batcher

Add MessageProcessor Async object to the batcher module. This object will
insert a task to pull tasks off a pull queue. It will try to insert them
serially using a memcache marker based off a time frequency formula.

Add insert_messsage_processor function that wraps creating a MessageProcessor
and inserting it.
Removing helper function for batch processor.
Add bump_batch method for incremeting the batch count.

Increments memcahce buy a key.
Convert Context to take options kwargs.

To facilitate future extensions, switch from named insert_tasks
injection parameter to fetching it from options.  This will keep the API
cleaner as additional injection points are added.
Add `id` to Context.

`id` will be used to group asyncs withing the Context and also to
facilitate access to the Context's state once persistence is
implemented.
Merge branch 'master' of wfgithub:WebFilings/furious into persistence-api
Merge branch 'master' of wfgithub:WebFilings/furious into persistence-api
changing import style in __init__.py
Merge branch 'master' into add_batcher_example

* master:
  Fixed typos in the comments and the Exception. Also fixed if condition to check registry
  Remove get_messages call as the MessageIterator does what's needed.
  removing further reference to _executing_async in get_current_context
  Add MessageIterator for pulling work off a pull queue.
  Adding get_current_context() method
Alter Context _insert_task setting logic to validate function.

Require a callable function to be provided for insert_tasks, or nothing
at all.  Specifying any non-callable value is considered an error.
Adding to_dict method to Context to facilitate persistence.

Context objects need to be encoded so that they can be passed between
requests and / or persisted.  A first step of this process is encoding
Contexts to a JSON serializable format.
Add from_dict method for Context to produce a Context from a dict.

from_dict is the inverse function of to_dict on Context.  This is
required to facilitate the reconstitution of a Context that has been
encoded and persisted to disk.