Use different emulate call

Ref #389
Also take tests from @kovidgoyal develop branch
Add a note about vim-addon-manager
Forbid querying vim from non-main threads in tests

Currently tests nothing or almost nothing.
Move some thread functions to a separate class
Remove debugging function
Make it use existing shutdown events

Also adds check to powerline-lint that "args" dictionary does not set
shutdown_event, segment_info or pl keyword arguments, this will lead to problems
Replace MultiClientWatcher and Powerline threads with ConfigLoader

Also
- move file opening and parsing to ConfigLoader
- add interval configuration
Defer create_renderer (and thus thread creation) until .render call

May fix problem discussed in #397

Also fix documentation for Powerline.render().
Improve lint number (interval and priority) checks
Add support for reloading configuration in the main thread
Handle removed files
Update *watcher stuff from @kovidgoyal develop branch
Add fixes for flake8 to that stuff
Some fixes for flake8
Fix tests on python-2.6
Add forgotten self.updated set

Ref #367
Also ignore E225 like suggested in CONTRIBUTING.rst
Normalize modelines
Allow non-format messages