Use cmake module instead of shared for nvim-test

On a Mac using shared creates libnvim-test.dylib which cannot be found
by the hardcoded .so extension in helpers.moon, causing the unittests to
fail. However, using module creates libnvim-test.so, allowing the tests
to run. There will still be problems running the tests on windows,
because both shared and module create dll file which will not be found
by in helpers.moon.
Extract garray.c from misc2.c

Start to split misc2.c in many other files (see #209).
Include "garray.h" in ex_cmds2.c
Use _NSGetEnviron on Mac OS X to gain access to environ.

When building nvim as a shared library for testing, environ is not
exposed.  In order to gain access to the environment variables, you must
get a pointer to them from _NSGetEnviron().

It appears that this may affect the FreeBSD platform too.
Only include libintl's include dir if libintl was found.

This prevents an error from CMake when libintl is not found.  It's not a
required library, so we must wrap the inclusion in a conditional.  It
was already done for the library.
Setup better warning flags for Clang.
Fix a 'garbage value' warning found by Clang's static analyzer

 - Initialize lists in paragraph_start()
 - Remove two dead stores