ga_growsize should be >= 1

I know it could be 0 sometimes. Running the tests with
`assert(gap->ga_growsize > 0)` in ga_grow() crashes nvim while running the
tests.

 - Add a setter for ga_growsize that checks whether the value passed is >=1 (log
	 in case it's not)
 - log when ga_grow() tries to use a ga_growsize that's not >=1
 - use GA_EMPTY_INIT_VALUE is many places
Introduce GA_APPEND()

This macro is used to append an element to a growable array. It replaces this
common idiom:

   ga_grow(&ga, 1);
   ((item_type *)ga.ga_data)[ga.ga_len] = item;
   ++ga.ga_len;
Introduce ga_append_via_ptr() and GA_APPEND_VIA_PTR()

Similar to GA_APPEND(). Replaces this pattern:

    ga_grow(&ga, 1);
    item_type *p = ((item_type *)ga.ga_data) + ga.ga_len;
    p->field1 = v1;
    p->field2 = v2;
    ga.ga_len++;
Merge #830 'GA_APPEND() and GA_APPEND_VIA_PTR()'
clarify LICENSE and README #899
README: fix links
Remove pthread fatal check from CMakeLists.txt #891
README: Add Bountysource badge. #854
LICENSE: add LuaJIT notice. #899
Update pt_BR translation: Sync to a3214803429e05635cbfbe8b3050a73406da6bc6
Update pt_BR translation: Improve translations.

[ci skip]
Merge #892 'Update pt_BR translation'
Update German translation: Sync to 9f1b9726fb28f78fba7c50efa5316c4bf2413cf8.
Update German translation: Improve translations.

* Translate missing and fuzzy strings.
* Fix grammatical errors.
* Rewordings for consistency.
Merge #780 'Update German translation'
Remove include for sys/select.h in vim.h #890

- There is no need to include sys/select.h anymore
- Removed HAVE_SYS_SELECT_H from config.h.in
MsgPack-RPC dispatch based on function array lookup #864

This simplifies the generated msgpack_rpc_dispatch() function, separates the
code for each RPC method more clearly and allows easy implementation of
alternative dispatching methods (e.g. string method id dispatch).
cmake: upgrade libuv 0.11.23 -> 0.11.26 #911

Fixes some bugs and increase the performance of uv_hrtime() on OSX, which
reduces its prominence in performance traces. This allows us to better see
what's really causing slowness.

ref:
- https://github.com/neovim/neovim/issues/868
- https://github.com/joyent/libuv/pull/1325
- https://github.com/joyent/libuv/releases
Add vim_feedkeys API function

- New API function to push data to the typeahead buffer - this should
  equivalent to the vimscript feedkeys() function
- In Vim there was a --remote-send command to insert input into a
  Vim server instance. Besides accepting key sequences it also
  translated special keys such as <CR> or <Leader>, backslash notation
  is ignored. This commit backports the original Vim handler for
  --remote-send as a bool option for vim_feedkeys()
- vim-patch:0
dispatch function generator: Fix bug in validation/initialization

- Initialize variables before validating argument count to remove possibility of
  freeing uninitialized pointers
- Set the error when the argument count validation fails