modified pull_spots_mp to allow for non-multiproc execution
Merge remote-tracking branch 'origin/master' into optim

Conflicts:
	scripts/pull_spots_mp.py
retooled a bit pull_spots_mp script

So that it is easy to call it from another script, patching stuff
where necessary.
added script that calls pull_spots_mp with profiling
added nvtx instrumentation to the instrumented script
added some basic command line options to instrumented script
made possible to specify a max number of grains
moved some invariant code out of a loop.

- also made it use numpy min/max instead of standard min/max
- factored out the code to build the window from coo_matrices so that
  it can be profiled.
added some extra instrumentation, maybe too heavy.
put back chunk size to 2
Don't need that flatten
Add boilerplate for array version of gvecToDetectorXY

and split out the single transformation into a separate function
Convert gvecToDetectorXY to operate on an array at C level

Just for the oscill matrix code, this could be a gufunc
to be more general
Directly create coo_matrix more efficiently than scipy.sparse does
accelerated a bit sparse matrix construction

using numba to extract the vij triplet at the same
time that thresholding is applied.
tweaks to instrumentation
Implement pulling of the spot window in numba
Fix bug in acceleration of coo_matrix construction
Optimize unitVector function with numba
Implement makeEtaFrameRotMat in cython