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.
Fix outdated msgpack-rpc doc.

Needed after neovim/python-client#58.
Improve Python host messages.
Merge pull request #1559 from fwalch/python-messages

Improve Python host messages.
Avoid printing an error response when detecting xclip.

While we're at, using the slightly more portable `command -v` technique
to detect the executable.  Also, there's no need to use `io.popen()` if
we aren't going to record the path.  Instead, let's use the simpler
`os.execute()` to detect the presence of xclip.
Merge pull request #1554 from jszakmeister/allow-skipping-of-sum

build: allow skipping of the hash check in the download step
Merge pull request #1556 from elmart/fix-msgpack-rpc-docs

Fix outdated msgpack-rpc doc.
Merge pull request #1555 from jszakmeister/silent-xclip-find-executable

Avoid printing an error response when detecting xclip.
Add Boolean argument escape_csi to vim_feedkeys

- By default vim_feedkeys escaped all input for CSI/K_SPECIAL bytes
  before using it. However since vim_replace_termcodes() also escapes
  the input string chaining these functions together escapes input twice
- vim_feedkeys() now takes a third Boolean argument to enable/disable
  escaping
- Breaks API compatibility
Functional tests for feedkeys CSI escaping

- tests for vim_feedkeys and replace_termcodes
Merge PR #1270 'Add Boolean argument escape_csi to vim_feedkeys'
Change refs for joyent/libuv repo to libuv/libuv

* References to old repository found through grepping
* Replace references from github.com/joyent/libuv to github.com/libuv/libuv
* Fix previous commit by not including whitespace changes

 For issue #1560.
ui: Remove ui_inchar/ui_char_avail

Also:

- Remove NO_CONSOLE_INPUT/NO_CONSULE preprocessor conditionals
- Remove ctrl_c_interrupts variable, check for mapped_ctrl_c directly in
  process_interrupts()
- Move ui_inchar profiling to input_poll which is where Nvim blocks for input.
ui: Remove ui_delay, ui_breakcheck and ui_set_shellsize

These functions only used to call another os_* function, so remove them and
replace all occurences in the project.
ui: Extract mouse.c/mouse.h
ui: Remove redundant ui.h includes

Also move read_error_exit to os/input.c
Merge PR #1565 'Cleanup ui module'
strings/memory: constify and func_attr.

Fix MB_COPY_cHAR() to accept const pointers.
strings: Enable -Wconvert.
Merge pull request #1562 from Happy-Dude/fix-1560-libuv-refs

Change refs for joyent/libuv repo to libuv/libuv.