Re-order initializer list to match member order

Correct the order of the initializer list so that gcc doesn't emit the
warning "'WebServer::m_cmdCount' will be initialized after 'int
WebServer::m_contentLength' when initialized here" when compiling using
-Wall.
Add extra brackets to while loop in printP

Add an additional set of brackets around the while loop condition in
WebServer::printP to stop gcc emitting the warning "suggest parentheses
around assignment used as truth value" when compiling using -Wall.
Change some ints and chars to unsigned

Convert some of the int and char variables to be unsigned int and unsigned
char types.  This prevents gcc generating the warnings "comparison between
signed and unsigned integer expressions" and "array subscript has type
'char'", as well as having a nice side-effect of shaving 42 bytes off the
compiled size when building for the Uno.
Hide warning when passing string to m_defaultCmd

The Command prototype has a char* parameter for the URL tail, but
WebServer::dispatchCommand calls this with an empty string as a parameter
if there is no URL.  As gcc treats empty strings as const char*s this
causes a warning to be emitted when compiling using -Wall, so suppress it
by explicitly casting it to char*.