Separate flash write and page erase commands

This separates the flash page erase from the flash write to allow multiple page writes to the same flash page.
Addresses issue #37.