this moves all the non-hardware specific code to the parent DataFlash_Class class, keeping the hw specific code much smaller and simpler. This should prevent discrepancies creeping in between APM1 and APM2 support again
we had log wrap disabled on APM2, and also had the wrong log size. The mainline code assumed 4096, but it is 8192 pages long.