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.
docs: Remove BeOS/Haiku remnants
docs: Remove VAX remnants
docs: Remove EBCDIC remnants
docs: Remove 'osfiletype' remnants

Even when this was finally removed 6 months ago in b2b920f, it had
already been disabled for a while. Due to this, just remove all remnants
of the option as opposed to putting a placeholder like what was done for
'shortname'and 'cryptmethod'.
docs: Remove RISC OS remnants
docs: Remove OS/390 remnants
docs: Remove Photon remnants

Also get rid of some platform references made irrelevant by the removal
of their respective platform specific GUI code.
docs: Fix incorrect Mac path references
Merge pull request #1628 from Pyrohh/misc-cleanup

More misc. platform cleanup
input: Recognize mouse events for abstract_ui
Merge PR #1632 'Recognize mouse events for abstract_ui'
CMake: Remove msgpack shared library in subdirectories.
memory: memcnt and strcnt.
GA_DEEP_CLEAR macro for garray memory deallocation

Used to free garrays of `salitem_T` and `fromto_T` in spell.c, and
garray `wcmd_T` in ex_docmd.c.

Helped-by: Jiaqi Li
GA_DEEP_FREE_PTR: deep free macro for garrays that store simple pointers

By "simple pointer" I mean a pointer that can be freed with a call to `free`
without leaking any member pointer.

This macro does exactly what `ga_clear_strings` does.
Use GA_DEEP_CLEAR where appropriate
Merge pull request #1643 from philix/ga_deep_clear

GA_DEEP_CLEAR macro for garray memory deallocation
vim-patch:7.4.242

Problem:    getreg() does not distinguish between a NL used for a line
            break and a NL used for a NUL character.
Solution:   Add another argument to return a list. (ZyX)

https://code.google.com/p/vim/source/detail?r=v7-4-242