Change h/w serial's baudrate calculation to match the datasheet.

Arduino's calculation wasn't producing correct values for all speeds @20MHz.
Add support for our new timer class.

On top of millis() and micros() we need to also know if/when the
millis counter overflows.
Have HardwareSerial::available() return uint16_t.
Use 128 byte buffers for h/w serial.
Remove obsolete timer extension hack.