refactor background modeling, enhance magcalc
always build gemini3d.compare so that when BUILD_TESTING=off, only the basic gemini.bin tests remain built and runnable by ctest. Because of the complexity of the stack, it's not wise to build absolutely no tests. At least one should ensure the gemini.bin numerics function correctly.