change structure of intel hex parse

think this simplifies things
cleanup intel_hex

in intel hex, cleanup usage of max_size and page_size, also make
data in the user page more general (does not need offset 0x800000
but needs to exist inside the user page region).
simplify use of buffer_out, remove dup var comment

simplify the use of buffer_out by removing duplication of buffer
contents.  also add comments about possible bugs.
fix minor error in comment

last and first were swiched on diff debug info
Merge branch 'master' into changeargs
Merge branch 'changeargs' into implementuser
minor cleanu
bugfix in intel_hex_to_buffer double increment

was incrementing pointer instead of counter for prog data
specify flash or memory size in execute_flash

specify flash size versus memory size in execute flash normal.
add warning before overwrite configuration data

the last word in the user page (or last two words) contains config
information. clearing this data will cause the device not to restart
properly into the program code.  a --force-config flag is required
to write data into the last two words of user page