Add ability to override configuration options

Related changes:
- Moved all non-ASCII symbols into `segment_data`
- Added --config_path, replaced nargs='*' with better action='append'
- Added g:powerline_config_path vim option
- Added ipython overrides (via additional arguments to setup() or c.Powerline)

TODO: support for non-string scalars in vim overrides.

Fixes #231
Replaced getfsize with os.stat
Fixed various flake8 errors
Renamed colorscheme variable to colorscheme_config
Replaced 'NONE' with None for guifg/guibg.

No need in having string keys if we are in any case checking this for equality
later instead of embedding them as-is like cterm*
Splitted colorschemes, added better gradient support

- Splitted colorschemes into colors definitions file (TODO: remove non-colors
  definitions like weather_condition_hot and base00) and actual colorscheme.
- Removed dictionary containing groups definitions for all groups for all modes,
  now colorscheme is queried for this each time.
- Moved determination of colors from theme to renderer.
- Added gradients definitions (actually, only one) to new colors file.
- Made line_percent with gradient=True use new gradients.
Replaced non-color names with a bit more descriptive names
Optimized cterm_to_hex

Dictionary is an overkill here. Tuple is faster. Also now the whole tuple can be
seen on the 1/4 of my screen (32x119 characters) and colors are easier to find
(useful only when seeking for normal color names).

Again, it would be goot to ignore flake8 in this case. Without comments it
complains about it is not easy to find requested color by hand
Made it ignore highlight definitions for function segments

Also removed divider_highlight_group from configuration: it is actually used
only in function segments.

Fixes #215