Add proper lookups for § and ± in key-bindings stringification

The (B) and (Z) models listed at
http://support.apple.com/kb/HT2841?viewlocale=en_GB have these keys
where the tilde/backtick key goes, but appear as '⌘ Hex Code 0xa7' in
the Keys prefs fields.
Don't shell escape filenames that are to be scp'ed.
Merge branch 'gb_weirdkey_fix' of https://github.com/shabble/iTerm2 into shabble-gb_weirdkey_fix
Rewrite comment
Don't invalidate a live selection when a key is pressed. Fix selection scroll in this situation too.
Prevent a crash I saw once where -[PseudoTerminal arrangement] returned nil when closing a window (seemingly because it had no tabs, but that doesn't make much sense). I wasn't able to reproduce it.
Add another check for nil arrangement. Also, the reason this happens is when you move a session to a different window with cmd-opt-shift-drag and it's the last session. Then the window closes and has no tabs.
Move mouse entered/exited tracking from PTYTextView to SessionView. Whenever a new line arrives which grows the scrollback history, PTYTextView's frame changes. This causes updateTrackingRects to be called. updateTrackingRects sets the tracking rect, which causes mouseEntered: to be called every time. This was responsible for bug 3345. It also prevented mouseExit from being called when the mouse exits at the same time the view's frame changes. Now mouseEntered: and mouseExited: are reliable.
Merge branch 'master' of https://github.com/gnachman/iTerm2