CMake: Fix running individual (functional/unit) test.
Merge pull request #1397 from fwalch/fix-test_file

Restore TEST_FILE functionality for running individual tests.
test: Set VIMRUNTIME before running tests

This is required for testing scripts under the 'runtime' directory
iconv: re-enable

This seems to have been disabled in the transition from vim to neovim,
re-enable it.
test: Simplify/fix options_spec.lua

The options_spec.lua suite has one purpose: Check if the :options commands will
throw any exception(:options is implemented by $VIMRUNTIME/optwin.vim). For this
it is best to use the `vim_command` API function since it will automatically
catch exceptions and forward them via msgpack-rpc.

Also, the option window seems to affect other tests, so call `restart` in the
teardown hook.
test: Add more valgrind "possibly lost" suppressions

These valgrind entries are false positives because vim uses interior pointers.
channel: Delay notifications to avoid client race conditions

It is currently possible for a client to send a response that doesn't match the
current server->client request(at the top of the stack). This commit fixes that
by delaying notifications to until the first `channel_send_call` invocation
returns.

Also remove the "call stack" size check, vim will already break if the call
stack goes too deep.
Merge PR #1398 'Tests and msgpack rpc improvements'
Merge pull request #1370 from aktau/enable-iconv

re-enable iconv
version: Refer to nvim help on startup screen.
Merge pull request #1412 from fwalch/startup-help

version: Refer to nvim help on startup screen.