Refactor: Remove support for multiple protocols

This removes the boilerplate code supporting more than one RPC protocol as it
was becoming hard to maintain and we probably won't ever need it.
Merge branch 'remove-multiple-protocol-support'
vim-patch:7.4.267

Problem:    The '[ mark is in the wrong position after "gq". (Ingo Karkat)
Solution:   Add the setmark argument to do_join(). (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=75f222d67cea335efbe0274de6340dba174c1e7e
Merge #756 'vim-patch:7.4.267'
Fix localization: Fix build: Fix dangling references.

Problem:  Makefile references some files that don't exist anymore.
Solution: Remove those references.
Fix localization: Fix build: Fix included source files.

Problem  : Previous build assumed all *.c files were in parent dir. It
           only included globals.h, too.
Solution : Include all *.c and *.h files under parent dir (including
           subdirs).
Fix localization: Fix build: Fix sed issue on OSX.

Problem:  On OSX, sed commands processing files converted to encodings
          other that UTF-8 fail with "RE error: illegal byte sequence".
Solution: Make sed execute with C locale throgh environment variables
          (LANG=C, LC_ALL=C, LC_CTYPE=C).
Fix localization: Fix build: Fix sjis-fixing executable.

Problem:  Executable used to fix japanese files with sjis encoding
          (sjiscorr) fails to compile.
Solution: - Add mising includes.
          - Remove __END_DECLS.
          - Add removed comments.
Fix localization: Fix build: Improve checking.

Problem  : Currently, 'make check' gives no explanations when it fails,
           only the name of the po file which caused the halt. Then,
           you have to manually run check.vim on that file to see what
           happened.
Solution : Generate a 'check.log' file on every execution of check.vim
           (overwriting if already existing). That way, when make halts,
           you can go there and see details about failure.
Fix localization: Fix po files.

Problem:  Build fails because of some messages being repeated.
          Curiously, all repeated messages have this comment:
          "Explicit typecast avoids warning on Mac OS X 10.6".
          No idea why.
Solution: Remove repeated messages.
Fix localization: Update po files.

Sync po files to code at 3a68a4861adcc950cdbde709d4841f8ea0c52b12.
Merge #713 'Fix localization'
Refactor: Use size_t for {w,r}streams.c
WStream: Refactor: Use reference count for memory management

Now `wstream_write` receives pointers for WBuffer objects(created with
wstream_new_buffer), which stores a reference count to determine when it's safe
the free the buffer. This was done to enable writing of the same buffer to
multiple WStream instances
Add kvec.h macro library
API: Bugfix: Remove possible double-free in buffer_get_line
API: Events: Add support for broadcasting events

The channel_send_event will now broadcast events to all subscribed channels if
the 'id' parameter is 0.
API: Events: Automatically pass channel ids to API functions

The dispatch function generator was customized to allow for API functions to
declare a 'channel_id' as first argument.
API: Events: Add functions for {un}subscribing to broadcasted events
Build: Fix autocmd removal from cleanup function