Solve encoding issues in powerline python client
Perform shell word splitting in zsh bindings

This makes POWERLINE_COMMAND be consistent across various bindings.
Make tcsh check whether some variables are defined or empty

Makes it consistent with other shells
Make tests test powerline daemon with valid python and all clients
Also test whether running daemon is successfull without arguments
Do not require scripts/powerline

It may be immediately moved to bin/ sometimes or not compiled at all for some
reason.
Add --socket argument to all clients

Makes it not needed to kill daemon for testing, but disables implicit
`powerline-config shell command` testing.
Do not execute all tests in travis
Make test_shells/test.sh compatible with dash