vim-patch:7.4.285

Problem:    When 'relativenumber' is set and deleting lines or undoing that,
            line numbers are not always updated. (Robert Arkwright)
Solution:   (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=5cb1828fd0056de3c166e71fbafc67a74c57d7b1
Dead code: Remove unused vimscript functions(from FEAT_CLIENTSERVER)
API: Refactor: Duplicate/free string arguments coming from msgpack

When receiving strings *from* msgpack, we don't need to duplicate/free since
the data only lives in the msgpack parse buffer until the end of the call.

But in order to reuse `msgpack_rpc_free_object` when sending event data(which is
sent *to* msgpack), Strings must be freed, which means they must also be
allocated separately.
API: Refactor: Close/free channels when their streams reach EOF
API: Events: Return channel id from the API discover request

This refactors msgapck_rpc_{dipatch,call} to receive the channel id as
argument. Now the discovery request returns the [id, metadata] array.
API: Events: Implement channel_send_event and vimscript wrapper

This function can be used to send arbitrary objects via the API channel back to
connected clients, identified by channel id.
Build: Add 'nonnull' attributes to msgpack_rpc functions
Build: Add api/{helpers,handle}.c to CONV_SRCS
Build: Add more files to clint-files.txt and fix errors
Build: Enable valgrind's --leak-check when testing the API
API: Bugfix: Remove memory leak from set_option_to
API: Bugfix: Remove memory leak from buffer_set_slice
API: Bugfix: Remove memory leak from buffer_set_name
API: Bugfix: Remove memory leak from buffer_get_line
Merge branch 'api-events'
Merge pull request #749 from oni-link/vim-patch-7-4-285

vim-patch:7.4.285
Replace vim_strncpy calls: add STRLCPY
Replace vim_strncpy calls: ex_docmd.c
Replace vim_strncpy calls: getchar.c
Replace vim_strncpy calls: file_search.c