Add buffering for all output

Update WebServer::write(uint8_t) to write to a buffer instead of sending
single characters (or short strings) as small packets.  Remove the other
signatures of write so that the base ones in the Print class (which call
write(uint8_t)) are used instead and simplify the writeP/printP
definitions to do this too.

This greatly improves the performance of pages which are built from a
large number of small strings or values at the expense of a small
additional amount of memory (which can be adjusted with the use of a new
macro called WEBDUINO_OUTPUT_BUFFER_SIZE) and also saves ~85 bytes of
flash.
Merge pull request #48 from ribbons/buffer-output

Add buffering for all output to improve performance with many small strings
Update WebServer.h

Hi again. Here is a summary of the changes
- The recent patches did not compile. On Arduino 1.0.5 MAX_SOCK_NUM was missing so I included ethernet.h
- I added back write(const uint8_t *buffer, size_t size) which was removed with the addition of buffering
- I added printf for convenience
- I made reset & flushBuf public. 
I'll continue to use the current version and report any bugs. I think that it may be a good time to up the version number

Thanks
Merge pull request #49 from cat101/patch-3

Update WebServer.h