Reclaim two pages for tiny 85

Bootloader address is now 17BA (for gcc 4.7)
A bit more cleanup (mostly)

... but found another 6 bytes.

* got rid of superfluous function forward declarations.

* use C99 uint8_t instead of uchar

* got rid of "static" for global variable declarations, does not help anything

* got rid of BOOTLOADER_CAN_EXIT
  description for this flag insisted that it is necessary for tiny85 mode, but
  mega support is long gone so this must always be on. I think.

* got rid of the unused global variable "didWriteSomething".
  It was no longer mentioned anywhere els and removing it gains another 6 bytes.
Fix usb disconnect bug and gain another 6 bytes.

When the upload utility sends the run command as a control message, it (resp.
the hosts USB stack) expects an ACK, but the ACK seems to get lost and the host
repots a broken pipe.

There was a 10ms delay loop in "leaveBootloader()" that appears to be there for
exactly this case, but it did not work for me, not even when I extended the
delay.

Calling "usbPoll()" again however seems to fix the missing ACK.

So this change

* removes the delay loop in "leaveBootloader()"
* adjusts "idlePolls" so, that two more calls to "usbPoll()" will happen.

This saves another 6 bytes.

Except, that this will not work in jumper mode. Here the bootloaderCondition is
always true and the break from the loop is absolutely necessary. Thus, if
BUILD_JUMPER_MODE is set, the old behavior - break the loop, then sleep 10ms - is
emulated by moving the delay into the main loop.

tiny-85 size now: 2102 bytes.
Add a "KEEP_OSCCAL" option.

This just skips the lengthy OSCCAL restauration stuff, just like WITH_CRYSTAL
and RESTORE_OSCAL do. It is disabled by default.

With this, the magical 2k size comes into a few bytes reach even for RC-driven
devices. '85 size would be 2060 bytes.
Skip storing OSCCAL when not neded later

... and combine all OSCAL skipping into one define.

The SCCAL setting was still stored in the tiny table, even when the bootloader
did not care to restore it from flash later (defined(RESTORE_OSCCAL) ||
defined(WITH_CRYSTAL) || defined(KEEP_OSCCAL))

This is pointless and not doing this saves some more bytes (16)

With the "KEEP_OSCCAL" switch from the last commit and even with gcc 4.7 one
can get a bootloader for RC driven 8k chips with just 2044 bytes !