cores: move function prototype from common header

There's no need to for the core generation function to have its
prototype in a common header for parts that don't need to know anything
about SimAVR.
pflash: take config as arg to flash_open_or_create()

Tweak flash_open_or_create() to take the configuration details so that
it may use more bits later, like a bit for erasing the flash entirely
prior to laoding.
pflash: support erasing contents prior to load

Prior to loading anything into any region of flash you may completely
clear it with the argument -e.