Initial support for #770

What was done:
- Implemented loading using configuration hierarhy as proposed in the issue
- Implemented group aliasing

What was not:
- Some tests (config_reload) are failing
- Other (test_configuration) are spamming console with unexpected messages
- No support for powerline-lint
- No tests for new functionality
- Specifically I have not checked whether group aliasing actually works
- Colorschemes were not ported

Some other things: I have named this branch `config-ng` because I have other
ideas about configuration and it would be good to include them making only one
possibly backwards-incompatible merge commit instead of many. Specifically I am
going to rebase `merge-config` branch here.
Move some color defintions to colorscheme/*.json
Update documentation
Make attr colorscheme group key required
Check for dictionaries using isinstance(), not is
Add MarkedDict class, add special code for .copy() in Marked
Add mergedicts_copy: non-modifying mergedicts
Make lint checker work
Refactor some vim colorschemes to use group aliases
Fix tests
Disable shell tests in PyPy

Do not let PyPy SEGVs result in failed build.
Fix test class name in test_configuration
Use highlighted_string function to define segments
Add group aliasing and colorscheme hierarchy tests
Merge pull request #921 from ZyX-I/colorschemes-hierarchy

Implement colorschemes hierarchy

Fixes #770.