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.
CMake: Remove msgpack shared library in subdirectories.
strings.c: replace copy_spaces, copy_chars with equivalent memset.
Merge pull request #1604 from equalsraf/tb-env-configs

Don't use env vars for configuration time options.
Merge pull request #1635 from danthedeckie/master

replace copy_spaces and copy_chars functions with equivalent memset.
strcnt: remove unused parameter
Merge pull request #1642 from fwalch/msgpack-glob

CMake: Remove shared libraries for messagepack.
Allow building as a static -fPIC library
Build libnvim on CI server
Merge pull request #1586 from oakes/master

libnvim: Allow building as a static library
Make test29 work with nocompatible.
Ignore compatible mode
vim-patch:? Fix memory leak in readviminfo

Patch provided by Christian Brabandt
Improved by oni-link
Merge pull request #1622 from klusark/test29

default to 'nocompatible'
main.c: remove NO_VIM_MAIN

It is from legacy Vim, not used by Neovim.
vim-patch: Mark patches as NA. #1637
Reduce indentation level by early returning or continuing loop

Replace code like this

```c
func() {
    if (cond) {
	...
	...
	...
    }
    return ret;
}
```

```c
for (...) {
    if (cond) {
	...
	...
	...
    }
}
```

with

```c
func() {
    if (!cond) {
	return ret;
    }
    ...
    ...
    ...
}
```

```c
for (...) {
    if (!cond) {
	continue;
    }
    ...
    ...
    ...
}
```
Simple refatorings that didn't fit the pattern of the last commit
vim-patch:7.4.463

Problem:    Test 86 and 87 may hang on MS-Windows.
Solution:   Call inputrestore() after inputsave(). (Ken Takata)

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