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.
MAKE: ask gnulikes to warn and be pedantic

It seems clang 3.4 thinks the codebase is in fantastic shape and gcc 4.9.0
has only minor niggles, which I will fix in a follow-up commit
fix uninitialized member warning

In DEBUG mode the expr member doesn't get properly initialized to NULL.
fix warnings about directive inside of macro's

On some platforms/compilers, sprintf is a macro. Putting macro directives
inside of a macro is unportable and gcc 4.9 warns about that.
fix signed vs. unsigned comparison warning

The in-memory table will luckily not even come close to the limits imposed
by ssize_t. If it ever reaches that, we've got bigger problems.