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
Some cleanup of growable arrays:
* moved declarations closer to where they are used
* assertions
* documentation
* added const where possible
* some early returns to avoid doing unecessary work

--HG--
branch : gaarray.h-cleanup-dev
Merge branch 'garray.c-cleanup' of github.com:simendsjo/neovim into garray.c-cleanup