Fix SegFault when getting full path for files
Merge pull request #1582 from LBEaston/FixSegFault

Fix SegFault when entering Command(q:) or Search(q/) History
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
Don't use env vars for configuration time options

- As a general rule of thumb one shouldn't use environment variables
  for setting configuration options for CMake. The reason for this is
  we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
  a second session (with no var) and cmake is called because a
  dependency changed, the option would be disabled
- This commit removes the use of environment vars from
  src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
  at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
  -DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
  (not being used)
Only use SANITIZE for nvim target

- Clang's Address Sanitizer options may cause problems when running
  the unit tests, restrict the use of these options to the nvim target.