Replace char * with const char * where applicable

This fixes some compiler warnings that are shown for a UNIX_BUILD, since
that build was also converted to C++, but also improves general
const-correctness.
Remove SOFTWARE_SERIAL_RX support

It seems it was impossible to actually let this code be used. Also, with
the upcoming changes, this code is probably best replaced with Arduino's
SoftwareSerial library anyway.
Drop suppport for Arduino versions below 1.0
Remove support for the Adafruit ethernet shield

It seems this relied on software serial reception, which was broken and
removed. In the future, it should be possible to re-add support by just
passing in a SoftwareSerial instance.

Additionally, all ethernet examples now use the output handler feature
instead of relying on the bitlash library itself to know how to talk to
the Ethernet library or hardware.
Remove ethernet shield support

In the future, it should be possible to just pass in an ethernet client
Stream object and leave all the ethernet initialization stuff where it
belongs.

Additionally, all ethernet examples now use the output handler feature
instead of relying on the bitlash library itself to know how to talk to
the Ethernet library or hardware.
Remove AVROPENDOUS support

It's not entirely clear how this support is supposed to work (there
doesn't seem to be an Arduino core for AVROPENDOUS).

This also removes some Teensy-related defines, which seem to be unused.
Use Stream and Print classes for input and output

Instead of keeping pin numbers and output handler functions and deciding
on the fly where to send any printed bytes, now a Print* is kept,
greatly simplifying sbp() and friends. Additionally, output can now also
be redirected to an arbitrary Print object by calling setOutputHandler.

Similarly, for the input a Stream* is kept. This allows users of the
library to select any of the available serial port or any other Stream
object to use as the main console. This allows for example to use an
Ethernet client, without needing the bitlash library to understand every
particular ethernet library available (as long as it implements the
Stream interface).
In chkbreak, no longer gobble an input

This is possible since we now have a complete Stream object available
and thus can just use the peek() method.
SQUASH: Remove debug output
SQUASH: Use write instead of print for smaller code

Print::print(char*) only calls Print::write(char*), so it's really just
the same.
SQUASH: Change blconsole, blout and bloutdefault variable order

This prepares for the next optimization
SQUASH: Add new functions to bitlash.h
Allow removing support for arbitrary console Streams

By definging DEFAULT_CONSOLE_ONLY, the initBitlash(Stream*) function is
removed and the console is fixed to whatever DEFAULT_CONSOLE defines.
Doing this allows the compiler to optimize away most of the overhead
(like vtable lookups) involved.
Optimize when SERIAL_OVERRIDE and/or SOFTWARE_SERIAL_TX are disabled

In these cases, either or both of the blout and bloutdefault global
variables are not strictly required. By cleverly making these variables
reference each other, the compiler can optimize them away, without
having to change the code that uses these variables.
SQUASH: Revert sp and speol to use spb again instead of Print methods,
since that saves extra function overhead and is thus faster.
SQUASH: Don't initialize PrintToFunction::func

This is not allowed by C++99, but is also not needed anyway.
SQUASH: Also support Arduino 1.0.5
SQUASH: Drop more pre-Arduino-1.0-stuff
SQUASH: Remove TODO accidentally commited in "Use Stream and Print classes for input and output"
Don't bother including things Arduino.h already includes