deps: Add libtickit/libtermkey as dependency

The new terminal UI will be implemented on top of those libraries
term: Move "set_shellsize" to screen.c as "screen_resize"
term: Remove most calls to settmode

Nvim now relies much less on setting terminal mode to cooked mode, remove most
calls to settmode, except for those that happen on startup or when suspending.
Eventually even those will be handled by the UI layer.
term: Move more mouse functions to mouse.c
mouse: Remove CHECK_DOUBLE_CLICK conditionals

This is now always defined.
Merge PR #1591 'Prepare to rewrite the terminal UI'
deps: Use unibilium URL with Makefile fixed for OS X

Close #1594
systemlist: add `keepempty` option to preserve final newline
systemlist: test empty lines in beginning and middle of output
Merge pull request #1567 from bfredl/systemlist

systemlist: add `keepempty` option to preserve final newline
Fix newline substitution: Adapt to upstream patch.

Fix previous changes to be compatible with agreed changes to upstream
vim (https://code.google.com/p/vim/issues/detail?id=287).
Merge pull request #1596 from elmart/fix-newline-subst

Fix newline substitution: Adapt to upstream patch.
build: fix a typo in a comment of FindLuaJit.cmake
strings: Remove NONNUL_ALL from NULL-taking functions.

vim_strup() is only used in a couple places, with no NULLs possible, so
keep the attribute and remove the NULL check.