Initial version of the CommandReloader plugin
Follow test naming convention for plugins
Fix interpretation of loop_rate option
Add missing quote
Check cmd path changes
Explicitly return False from is_modified
Fix plugin example

 * fix constuctor
 * disable output buffering so that events get logged immediately
 * add a new line to log messages for readability
Add config to example command line

Otherwise the example plugin won't start
Merge pull request #547 from amarandon/command_reloader

Initial version of the CommandReloader plugin
Merge pull request #550 from amarandon/fix_plugin_doc

Fix plugin doc
Fix CommandReloader plugin doc

 * default loop_rate is 1 second
 * we also check cmd path
Merge pull request #551 from amarandon/command_reloader

Fix CommandReloader plugin doc
make sure we call basicConfig() prior to the first call
plugins are also watchers - fixes #552
config:  expand variables in dictionaries

Previous behavior would expand variables only for strings in the first
level of the watcher configuration.  However, this left unexpanded
variables in any dictionaries within the watcher configuration.  For
example, the stream configuration.  Change to descending into
dictionaries and expanding any string values.

Tested with the following configuration.  Without this change applied,
we get the error
    IOError: [Errno 2] No such file or directory: '$(circus.env.LOGDIR)/echo.log'
whereas with the change, the log show up as intended at /tmp/echo.log

[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556

[watcher:echo]
cmd = echo
args = hi

stdout_stream.class = FileStream
stdout_stream.filename = $(circus.env.LOGDIR)/echo.log
stdout_stream.max_bytes = 10485760

[env:*]
LOGDIR = /tmp
tests:  add expand_vars test

Add test for https://github.com/mozilla-services/circus/pull/554,
full expansion of variables in dictionaries.
Merge pull request #554 from jsbronder/full_var_expand

config:  expand variables in dictionaries
flaked8
Fixed TestWatcherInitialization.test_copy_path test

More than one Queue.get call is needed to get full
output from a watcher in an environment with rich sys.path.
Fixed Arbiter.reload_from_config (httpd and statsd stopped)

circushttpd and circusd-stats watchers were stopped for no reason.
reload_from_config does not allow [arbiter] changes, so sockets
and watchers created on [arbiter]'s behalf should be ignored when
looking for changes.