Fixing 300 baud communication for serial.

Because UBBR is only 12 bits, we were overflowing it at 300 baud because of the use of the U2X bit.  Now we turn off U2X if it would yield a UBBR value that would overflow.

Note that this breaks 300 baud communication with the computer on the Uno and Mega 2560 because the 8U2 USB-serial firmware has this same bug (and previously they cancelled each other out).  Since, however, it seems more likely that people will need to use 300 baud to communicate with other (legacy) hardware than with the computer, I'm making this change.  Issue for 8U2 firmware bug: http://code.google.com/p/arduino/issues/detail?id=542

http://code.google.com/p/arduino/issues/detail?id=522
Added SerialEvent() example
Added DHCP-based chat server example
Added SoftwareSerial Two Port Receive example
Added DHCP and DNS-based Twitter client for Ethernet library
Updated DHCP Address printer for Ethernet library
updated twitter client for Ethernet
Added new examples
updated new wifi examples
Moving recent commits to new-extension branch
removing new-extension branch examples from master branch
Del wifi_WEP_example.pde
Merge branch 'master' of github.com:arduino/wifishield
Added Printable interface class to allow printing of classes such as IPAddress
Merge branch 'new-extension' of github.com:arduino/Arduino into new-extension
Changed localIP function name
delete some debug print
Added new examples in Arduino style.  Added IPAddress.cpp and .h
Added new examples in Arduino style, added IPAddress files. For real this time.
Deleting ole examples in progress