Reworked config

Changes:

- Removed useless Segment and Matcher classes that were used solely for their .get() method.
- Added ability to specify some segment keys in top theme. Ref #3 (it is the problem I expressed in comment there: segments will be inconsistent in themes added by `add_local_theme`).
- Added ability to override configuration options (via vim variables or command-line keys). Ref #231.
- Reworked top-level Powerline class: moved a big bunch of capabilities out of it, moving them to child classes. Ref #141 (I think that calling matcher just to check strings for equality while we can use `__getitem__` is weird, thus making it possible to override `get_local_themes` in upcoming IpythonPowerline subclass. More changes are needed though to support #141).

TODO:

- [x] Split colorschemes into color definition file (one for all colorschemes, defined in `config.json`/`common`) and colorscheme itself.
- [x] Gradients should be special things: defined in new color definition file, in a gradients dictionary.
- [x] Ignore `highlight_group` key for function segments completely. #215
- [x] Do something with `divider_highlight_group`. #215
- [x] Add ipython overrides.
- [x] Remove non-colors from color definition file.