Add support for above lines as described in #462

Support is not mirrored in shell bindings yet
Support multiline prompt in bash
Support multiline prompt in zsh

Notes:

- Unlike fish zsh outputs right prompt shifted by one to the left. Which means
  I have to subtract 1 from computed width.
- PS2 and PS3 produce too lengthy prompts when fed with real width. Thus they
  are fed with PS1 prompt width like in ipython (out prompts).
Support multiline prompt in tcsh

Notes:

- I had to launch script twice because tcsh does not actually support multiline
  prompt: it squashes everything into one line.
- Thus I had to add POWERLINE_TCSH_NO_ABOVE_PROMPT: running python twice is not
  nice for performance.
- Due to 1) tcsh shifting rprompt by 1 and 2) tcsh not accepting %{%}-escaped
  color section at the very end of rprompt (actually it is accepting it, just
  makes user input colored as that section) I had to reduce computed width by 2.
- As running powerline command in precmd modifies status code I had to use
  POWERLINE_STATUS variable to save status.
- As tcsh does not accept names that start with underscore non-API powerline
  variables do not start with underscore.
Support multiline prompt in fish

Note: fish does not accept prompt strings that have width identical to the
terminal width: it makes prompt be reduced to just `>`.
Update lint checker
Update documentation
Rename test_configuration to test_provided_config_files
Add some basic tests
Merge pull request #893 from ZyX-I/multiline-prompt

Multiline prompt support

Fixes #462