libmnflash: include stdint.h, some gcc versions need that.
Define guard defines as "1"
libmnflash: Ignore errors from device erase
Fix hexdump.

Hexdump messages were broken for a while because the log functions assume
to get whole lines while the hexdump stuff sent partial lines.

So just send whole lines to the loging facility.
Use alternative wdt_disable() function.

The one from avr-libc does not work on some devices (167, mabe others).
Option to enable the WDT (again)

The bootloader can now be told to enable the watchdog before entering the
application.
Fix two GCC 4.8 issues

a) move address increment in writeWordToPageBuffer() before resetting
  SREG. Without that, GCC 4.8 generates code to load "currentAddress"
  from RAM again.

b) make vUSB use switch/case instead of if/else
   With gcc <= 4.7, some switch statements caused more code to be produced then
   equivalent if/else statements and vUSB has special stuff to deal with that.
   With GCC 4.8, this seems no longer to be the case and using 'switch' is more
   efficient - at least in this case.

With this patch, GCC 4.8 can produce code that is a few bytes smaller then that
from 4.7, but only for devices with a crystal. Code for devices running on the
RC will gain another 20 or so bytes.
RC calibration in assembler

This is not the version from micronucleus but the one suggested to
vUSB.

Code from
  https://github.com/cpldcpu/v-usb
comments in
  https://github.com/obdev/v-usb/pull/4

Sizes with GCC 4.7.2:

hardware              size	(was)	(change)
------------------------------------------------
t167-c12              1936
t167-c12-jumper       1918
t167-c12-wdt          1958
t85-1                 2026      2088    -62
t85-2                 2026      2088    -62
t85-jumper            2008      2070    -62
t85-jumper-ko         1952      2014    -62
t85-keep-osccal       1970      2032    -62
t85-lowpower          2022      2084    -62
t861-c12              1810

Everything is now below 2k.
Avoid 16-bit shift in eraseApplication()

... saves 6 bytes.
Use __DELAY_BACKWARD_COMPATIBLE__

This saves 12-22 bytes, probably depending on F_CPU and whether jumper
mode is active (why the latter ?)
Isolate occurrences of currentAddress % SPM_PAGESIZE

The new function is "currentPageOffset()", which returns an uint8_t when
SPM_PAGESIZE <= 256. The compiler will optimize that a bit better which
spares 24 bytes.
Use pre-increment for idlePolls

... and get rid of incr_idle_polls(). Save 8 bytes.
Allow extra defines to be passed via EXTRA_DEFINES.

Mixing the two kinds of make variables apparently does not work well and
passing "DEFINES=-DWhatever" to "make" overrides variables set from the
makefile includes.