Add support for a RWW section and fix problems with flashing and using RAMPZ

A RWW section is typically written to by a bootloader that lives in NRWW. Without supporting this properly written bootloaders that ensure the RWW section is enabled would actually trigger a write to address 0x0 of flash (due to the else case in the flash ioctl in avr_flash.c) resulting in an unbootable flash image (hence how I got the issue that my pc-crash branch fixed).

This is really just the plumbing for the fix and another small unrelated change. The larger change as a whole will be submitted later (hopefully Monday?). The reality is that all boards need to call a reset behavior for their flash and a few bits need to be reset back to their initial states when avr_reset() is called.