Move garray_T from structs.h to garray.h
Move some types and consts from structs.h to other headers

 - `foldinfo_T` to `fold.h`
 - `context_sha256_T` to `sha256.h`
 - `tagname_T` to `tag.h`
 - `pumitem_T` to `popupmnu.h`
 - `prt_*_T` to  hardcopy.h`
 - `CPT_*` consts to `edit.h`
 - `vimmenu_T`, `MNU_HIDDEN_CHAR`, and `MENU_*` constants to `menu.h`
Use check_function_exists() to check for _NSGetEnviron().

This avoids a compiler generated warning which result in failing to find
the function with -Werror active.  You could argue this is a bug in
CMake: http://public.kitware.com/Bug/view.php?id=13208