Add stream configuration importing

The patch adds the ability to load streams from a user-imported
module.  In order to start dmon the user will have to add the path to
their module to PYTHONPATH and specify the module name with the
special environment variable, DMON_STREAM_MODULE.  This design is used
in Django and shouldn't be too hard to pick up.

A stream module simply binds some co-routines to module-level names
with the word "stream" in them.

There are also some minor fixes here and there.
Merge branch 'master' of github.com:agentultra/dmon
Update README
Added average stream

Renamed the co-routine decorator to 'stream'. Added a basic averaging
decorator.
Add tests to streams.py

Not sure if this is the best way to do this.  However, since we're
using eventlet.spawn_n we can't get to the return values under testing
so I patch eventlet.spawn_n with a decorated function that just pulls
out the function from spawn_n's parameters and calls it directly.

The test class then just has to setup an instance variable and a
stream sink to use under test to collect values.  Then the tests can
just run some sample events through a given stream and check the
`processed_events` variable.
Add test for average stream
Add dmon shell

Added a script that sets up an interactive Python shell with a
pre-built environment for interactively developing/testing dmon.

Added a dmon_shell console script entry point to setup.py which runs
the shell.
Merge branch 'master' into feature/expiry-task
Add factory for Index singleton.
Add stream for index.