Optimized build_k2.

Went 6ish seconds to less than a second for the entire __init__ routine in Solver3DFFT
Updated FFT solver checks.

Added a single particle check
Cleanup
Added W(k) adjustment factor, currently commented out.

It did not make a noticable difference in my single particle example, but may make things better once they are not longer all set on grid points.
Starting to set up main base classes