Improve linter coding style
Place labels before labeled key name, not before the description
Add vim_getoption and vim_setoption functions
Do not use os.environ for write_output

This is required for daemon to work properly
Make ipython accept paths, not a single path
Make libzpython bindings accept multiple paths when using overrides
Prefer powerline bindings directory over fish_function_path
Write zero after writing current working directory in powerline.c
Do not omit running tests without ONLY_SHELL set
Remove tests/shell iff there are no failures
Run shell tests in an isolated environment
Add ext.*.components configuration support

Also fixes various problems in shell bindings.

Closes #969
Fix vim emulation module
Fix name conflict in vim bindings
Merge pull request #973 from ZyX-I/ext-components

Add components configuration option