Added ARRAY_SIZE macro
Fix bug with large TCP messages

Fixed buffer size definition so that large TCP messages no longer
overflow the buffer
Add movement limits

Remember whether each axis has been homed. Don't allow z-homing or G31
procedure unless X and Y have been homed. If axes have been homed, limit
travel to size of bed.
Web server direct print support

Speed up web server direct print mechanism so that Matt's web interface
can do direct prints without stuttering