new feature for setting the ipc endpoint socket owner

- Added a new config option called 'endpoint_owner' that must be set to
a unix user name
- When the endpoint is an ipc connection and endpoint_owner is set, then
the ipc socket file will be chown'd to the endpoint_owner user value.
This allows circus to run as root but allow certain processes to send
commands to it without having to run as root.
update the docs for the new endpoint_owner functionality
add an entry to the contributors list for me
reap message enhancement for signals vs. exit codes

- If the process exited due to a signal, set the exit_code to the
-<SIGNAL> value to match the behavior of the Popen.returncode attribute
that is used in the other reap message.
This allows plugins that monitor the exit of processes to distinguish
between an actual return code > 0 and an exit due to a signal (i.e. a
segfault, SIGILL, SIGABRT, etc.)
Add a new stream class - WatchedFileStream

- This stream class emulates the behavior of Python's WatchedFileHandler
logger utility, where if the log file is removed/renamed by an
external log rotation utility, the file will be reopened. This is very
useful for situations where circus is running a bunch of different
processes with different logging implementations and one external log
rotation tool is used so that all the different logging implementations
don't have to worry about log rotation.

- refactored common FileStream functionality into a base class that is
now shared between FileStream and WatchedFileStream.
import WatchedFileStream so it's name is resolvable

- Allow users to specify WatchedFileStream in config files without a
fully qualified name.
- Suppressed the flake8 warning for an unused import as
WatchedFileStream needs to be in the globals dict
Add WatchedFileStream tests in that mirror what is tested for FileStream
Add docs for WatchedFileStream