Move file unwatching in old-style worker out of for-loop. Refs #139

Each worker has a `self._file_map` attribute which is a mapping of file ids to file data. When retrieving lines or checking on the status of the file, we use `iteritems()` which gives us a generator as opposed to a copy such as with `items()`. This generator allows us to iterate over the files without having issues where the file handle may open several times or other random Python issues.

Using a generator also means that the set that we are iterating over should not change mid-iteration, which it does if a file is unwatched. To circumvent this, we should use a separate list to keep track of files we need to unwatch or rewatch, and do it out of band.

We should also take care to catch `RuntimeError` which may arise when closing the Worker out of band - such as in the `cleanup` step of the worker dispatcher - but nowhere else.

This should fix issues where logrotate suddenly causes files to disappear for a time and beaver tries to tail the file at the exact time it is being recreated.
Disable daemonization on the windows platform. Closes #141
Move base_log module higher up in hierarchy. Refs #142
Subclass the BaseLog class in BeaverSubprocess. Refs #142
Properly parse out the port from the `ssh_tunnel` option. Closes #142
Wrap manager.close() call in try/except to mimic the worker dispatcher
Close queue after worker has been stopped. Refs #135
Use a Buffered Tokenizer to read large/fast incoming log input. Refs #135. Refs #105
Properly parse the beaver conf.d path for new sections. Closes #144. Closes #145. Refs #107