Fixed UART_BAUD_SELECT and UART_BAUD_SELECT_DOUBLE_SPEED.

For some combinations of MHz and bps, the previous
definitions produced values for UBRR which were off by 1,
mainly because integer divisions truncate results.

This new definitions use equations taken from AVR Libc's
`setbaud.h`, v1.8.1 (copyright 2007 Cliff Lawson and Carlos
Lamas).