Handle non-printable characters properly

Fixes #723
Use .copy() on character_translations before modifying
Make powerline work with non-utf filenames

Fixes #281
Do not do needless copying in test_shells/test.sh
Remove backslash escaping on zsh and fish
Add tests for special characters escaping
Get rid of printf
Merge pull request #725 from ZyX-I/fix-fname-special-chars

Handle non-printable characters properly