clean up code flow to let program continue on errors (so we can correct codes and move on), more mmap() preparations.

Also, detecting EMPTY/OTHER isn't right... empty csum depends on length of
block. Also detecting "MAPS" might not be portable between flashes... not sure
if its even possible to detect map area. Maybe any addr that isn't covered by
main checksum?
Cosmetic: preserve existing {} style