test: Add gdbserver support on helpers.lua

The $GDB env var can be set to run tests under gdbserver. If $VALGRIND is also
set, it will add the --vgdb=yes command-line option to valgrind instead of
starting gdbserver.
Merge PR #1527 'Add gdbserver support on helpers.lua'
clipboard: check for X on every invocation

xsel and xcopy may be available even if a valid X display is not. Also,
the availability of X may change at any time, so check on each
invocation.

Closes #1509.
Merge pull request #1525 from justinmk/clipboardX

clipboard: check for X on every invocation
Fix substitute newline: Memory functions: Improve style.

`try_malloc` was changed in 8bb2c2c0742c57150655e18cf8418a758cebdce8 to
avoid a warning when size is 0. Then, this improves some things on that:

- Use local vars instead of changing parameters.
- Homogenize style for other related functions.
Merge pull request #1526 from elmart/mem-func-impr

Memory functions: Improve style.
Print an error and exit when there are no plugins.

Issue: #1537

Running the :UpdateRemotePlugins command will show an ugly, unhelpful
error when no plugins were found. This change has neovim print an error message
and does not attempt to start the python-client which requires at least one
plugin.
Merge pull request #1539 from Floobits/master

Print an error and exit when there are no plugins.
Fix broken functional test.

In Lua, all math is floating point.  We need to coerce the result of a
division into a integer with the `{get,set}_height` and
`{get,set}_width` window_spec functional tests.
build: print the error result when the tests fail

Any diagnostic information is useful when things fail.  In my case, it
printed out the fact that the tests were segfaulting.
deps: Update bundled lua client version

The new version fixes defunct processes which causes random test failures on
some systems(#1519)
Merge PR #1547 'Update bundled lua client version'
Add missing refcount increment for systemlist()

- get_system_output_as_rettv() was missing a refcount increment when
  returning an empty list, i.e. when there was no output
- we now use rettv_list_aloc() instead of list_alloc()
- issue #1530
Merge pull request #1552 from equalsraf/tb-fix-1530

add missing refcount increment for systemlist()
build: allow skipping of the hash check in the download step

This is useful when trying to bisect an issue in a dependency, and we
want to pull from a specific commit but don't want to have to download
and determine the sha1sum and md5sum of the tarball.
Merge pull request #1543 from jszakmeister/fix-broken-functional-tests

Fix broken functional test.
build: add failure message along with number in GenerateHelptags.cmake
Merge pull request #1544 from jszakmeister/run-tests-error-code

build: print the error result when the tests fail
build: probe the compiler to see if we need to turn down _FORTIFY_SOURCE

Some builds don't use Release (such as Gentoo, though it can be told
to).  So let's go a bit further and probe the compiler to see if we need
to turn down the _FORTIFY_SOURCE level.
Fix outdated msgpack-rpc doc.

Needed after neovim/python-client#58.