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
os_open: impl mch_open with libuv. ref #133
os_open: replace calls to mch_open macro.
os_open: add unit tests
os_open: update call sites expecting -1 error

- libuv uv_fs_open() returns `-errno` instead of always -1