Squashed 'third-party/libuv/' content from commit 3c40224

git-subtree-dir: third-party/libuv
git-subtree-split: 3c4022464acd92607f21c6eef69330fb071d0400
Merge commit 'a302c65dc65896776d6cb9e2c89a6ccc77ada530' as 'third-party/libuv'
get-libuv.sh: compile bundled libuv

Rename file to reflect new intent of script. Libuv is bundled into the
third-party directory. Modify the script to compile but not fetch libuv.
Makefile: refer to renamed compile-libuv.sh

get-libuv.sh was renamed to compile-libuv.sh
third-party: add note on role of directory

Add a brief README on the purpose of the third-party directory and some
suggestions for how to manage it. The neovim bigwigs may want to
re-draft the README.
os_unix: add #include for libuv
os_unix: switch to libuv chdir() function
os_unix: use libuv total memory function
move libuv functions to os.c and io.c module

Despite being an io library, the functions currently implemented with
libuv include some non-I/O tasks like getting the total amount of
memory.
Create new OS module

This module will contain all functions that perform OS calls such as IO,
filesystem access, etc.
Add missing include guard to os module
Added curl support and one test

Now it checks for the existance of curl after
failing to find wget.

Note that I ended up removing the quotes around $url
when referencing it in the call to wget, since urls can't have spaces
anyways, and the correct quoting was messy.

To test, I did

    rm -r .deps
    make clean
    make cmake
    make

And it worked.
Silenced wget's progress bar

This way it won't show up in travis-ci like:

    0% [                                       ] 0           --.-K/s
    100%[======================================>] 371,453     --.-K/s
silence tar when getting libuv
Arch linux link in TOC had the wrong indentation
Add local.mk include in makefile

This can be used by devs that need their own custom targets
CMakeLists: add install target for nvim
Makefile: add install target

This simply calls the install target in the build directory. IMHO I
think it's looking a bit hacky having a separate Makefile target to do
this rather than using the usual CMake workflow but mine is not to
reason why... [Also, I've copied ``cd build && make ...`` although I'm
sure ``$MAKE -C build/ ...`` is probably the Right Thing (TM).]

Note that you'll have to set CMAKE_INSTALL_PREFIX on the cmake command
line to change where this installs to.
Makefile: allow configuration of CMake flags

Although CMAKE_FLAGS was already a Makefile variable, it didn't have an
empty default value meaning that extending the flags to CMake in a clean
way was difficult. Add a CMAKE_EXTRA_FLAGS variable which is appended to
the default flags.
add installation as a travis test

Not only should we pass the test suite but we should also install
successfully.