Erase a block. A block must be erased before being programmed.
The state of an erased block is undefined. Negative error codes
are propogated to the user.
May return LFS_ERR_CORRUPT if the block should be considered bad.