Some fixes for upgrade

* leave the interrupt table unflashed before entering the bootloader.
  Ohterwise the bootloader is unable to insert the jum to its ISR.

* back to use a page buffer in RAM for copying the bootloader.
  Mixing the boot_*() functions with pgm_read*() may have unintentional
  effects.
Fix compiler version check

... in case there is a gcc 5.
Add README
Alternative upload utility.

Essentially works, but needs more testing and documentation.

Features:

* can load ELF in addition to Intel Hex and raw formats.
  The file format is auto-detected.

  There is a lot of additional information in ELF files and it is rather easy
  to add additional sections as well. "avr-libc" for example can write the
  target device signature into the elf file, which a flash utility then can
  verify against the device to flash. Such additional information can not be
  represented in hex or raw files.

* uses the recently added device info
  example "mnflash --firmware ../firmware --app upgrade"

  The mechanism works with the filename and expects the firmware file to be
  located in a particular directory.

* All functionality is in a library, "mnflash" is just an interface.