ENH: enhance meshgrid to generate 3D grids, sparse grids, matrix indexing.
MAINT: clean up docstring and some minor items in meshgrid.  Remove ndgrid.
BUG: meshgrid: raise error on single input.
TST: meshgrid: test expected shapes for Cartesian and matrix indexing.
STY: meshgrid: some minor changes to address review comments.
TST: add tests for roll function
FIX: roll raises a ValueError is axis > ndim
FIX: handle empty arrays in roll
ENH: expose PyDataMem_NEW/FREE/RENEW as numpy API functions with an event hook.

Moves PyDataMem_NEW/FREE/RENEW to the external API.
Fixes PyDataMem_NEW/RENEW to return void* instead of char*.
Replaces PyDataMem_NEW/FREE with NpySortArray_malloc/free in sort.c.src
  (should be reverted if npysort is moved to be part of multiarraymodule).
Adds PyDataMem_SetEventHook which takes a (PyDataMem_EventHookFunc *) as an argument,
  with signature:
       void hook(void *old, void *new, size_t size).
  When not NULL, hook will be called at the end of each PyDataMem_NEW/FREE/RENEW:
   result = PyDataMem_NEW(size)        -> (*hook(NULL, result, size)
   PyDataMem_FREE(ptr)                 -> (*hook(ptr, NULL, 0)
   result = PyDataMem_RENEW(ptr, size) -> (*hook)(ptr, result, size)
Adds tests in multiarray_tests.c.src, driven by tests/test_multiarray.py.
Add void *user_data to EventHookFunc and SetEventHook
Wrap hook functions with GIL, add example.

Wraps the SetHook and calls to the hook with the GIL, to prevent races.
Adds an example of using the interface for callbacks into python code.
Restore ability to not include semi-colons.
Fix two instances of memcpy with overlapping source and destination.
prefer gfortran (g95) over vendor compilers, g77 and g95 on OSX and Linux.  

Retain preference for g77 on Windows and vendor compilers on other platforms.
API: Restore ability to not use semicolons.
Replaced all instances of memcpy with memmove.
Added test for overlapping array assignments.
Removed misleading comment.
Add doc for PyArray_FILLWBYTE to tell the ndarray must be c contiguous.
Merge remote-tracking branch 'upstream/master' into malloc_hooks