ENH: Added binary_mask as input parameter for grid3d

This is the a mechanism that I came up with for masking
bad regions of images that I think @tacaswell will agree with.
The other approach would require masking before process_to_q.  If
we go down that route, then process_to_q will need to take in the
image stack again.
There are some numpy tricks that will do this more efficiently,  see https://github.com/tacaswell/matplotlib/blob/master/lib/matplotlib/mlab.py#L594 for super tricksy tricks

and http://docs.scipy.org/doc/numpy/reference/generated/numpy.tile.html for less tricksy, but also less memory efficent.