Reserve the correct number of levels

No practical difference, but this should be ever so slightly more
efficient (and less misleading).
Check for NaNs in interpolation test
Allow there to be fewer energy maps/scales than necessary
Also avoid bug if energy maps too long
Calculate all descriptors, not missing the coarsest
Detect more keypoints
Ignore some local files
Merge branch 'upstream' into nan-fix

Conflicts:
	.gitignore