deps: Add lua nvim-client as a dependency
test: Remove run-functional-tests.py

Now that the lua client is available, python/lupa are no longer necessary to run
the functional tests. The helper functions previously defined in
run-functional-tests.py were adapted to test/functional/helpers.lua.
test: Use lua to perform sanity API checks

Sanity API checks made by the python-client in the api-python travis target were
converted to lua and will now live in this repository. This will simplify
performing breaking changes to the API as it won't be necessary to send parallel
PRs the python-client.
Merge PR #1296 'Use the lua client to run functional tests'
vim-patch:7.4.418

Problem:    When leaving ":append" the cursor shape is like in Insert mode.
            (Jacob Niehus)
Solution:   Do not have State set to INSERT when calling getline().

https://code.google.com/p/vim/source/detail?r=v7-4-418
Merge pull request #1298 from splinterofchaos/418

vim-patch:7.4.418
Add missing linker flags required for LuaJIT on 64-bit Mac OS X.

This was brought up in #1294.
Merge pull request #1299 from jszakmeister/add-missing-luajit-flags

Add missing linker flags required for LuaJIT on 64-bit Mac OS X.
server: Improve error reporting.

If we fail to bind to the server address, do not try and listen lest the
reported error always be "invalid argument".

Also, return whether or not we errored from server_init() in case we
want to respond differently in the future.
Merge pull request #1297 from splinterofchaos/server-errors

server: Improve error reporting.
rstream: Extract some RStream functionality to RBuffer

RBuffer instances represent the internal buffer used by RStreams.

This changes RStream constructor to receive RBuffer pointers and adds a set of
RBuffer methods that expose the lower level buffer manipulation to consumers of
the RStream API.
ui: Refactor input buffer handling

All input buffer code was moved to os/input.c, and `inbuf` is now a `RBuffer`
instance(which abstracts static buffer manipulation).
Merge PR #1300 'Refactor input buffer'
rstream: Initialize 'rstream' field in RBuffer class

This field is used in a conditional jump, so this initialization is fixing a
bug.
rstream: Add rbuffer_read_ptr/rbuffer_write_ptr functions

rbuffer_data was renamed to rbuffer_read_ptr, and it represents the next read
position in a RBuffer instance. Similarly, rbuffer_write_ptr was added to
represent the next write position.

Also, rbuffer_data was being used for writing(in alloc_cb), replace that by
rbuffer_write_ptr.
Merge PR #1306 'RBuffer fixes'
Improve YCM contrib: Fix 'no newline at end of file' issue.

Problem:  YCM was reporting a much disturbing warning about a missing
          newline at the end of some files. This was odd, as the
          newlines were there and the warning only was shown for some
          files, not for all of them.
Cause:    After discussing this issue with @Valloric (see
          https://github.com/Valloric/YouCompleteMe/issues/950), it
          turned out that not YCM, but libclang is responsible for it.
          This is, same compilation flags that produce no warnings with
          clang-the-binary on the command line, do produce them with
          libclang-the-library when used by YCM.
Solution: Add an extra flag (-Wno_newline_eof) to those extracted from
          configuration database before passing them to YCM.
Improve YCM contrib: Improve documentation.
Merge PR #1310 'Improve YCM contrib.'