Fixes 3 cases

1) Fast baud rate keep tx and tx shift full.
2) Fast baud ensure the ints are on if there is data in the queue
3) If called from a higher priority interrupt manualy empty the queue.