Edit: handle blanks in filenames correctly

Also, move path escaping to `Editor` class. The test is currently
failing (looks like a bug in `Editor`).
Only shellword escape filenames in system calls on linux
Remove needless old_editor restoration

Unfortunately nested assignments to @old_editor meant that the
original @old_editor was permanently lost. This caused sporadic
failures of spec/editor_spec.rb which was relying on Pry.config.editor
containing a string.
Fix indentation (HARDER)
Use proper temp directories for each OS

Also, there was a failing test on Windows ("should shell-escape files").
You will see it if you're running tests on Windows. Make it conditional.
Fix errors in tests on Windows

Some tests are still failing, though. This commit fixes wrong usage of
temporary paths on Windows. Please, note: the `edit` command is working
well; the issue is in poor tests.

Prettify some ugly code in `spec/editor_spec.rb`.