Extend web functionality for iamburny's web interface

Added new fields "zprobe" and "resp" to webserver poll response
Immutable string parameters are passed as const char* not char*
Increase max number of files displayed to 42
Range-check heater parameters in incoming commands to avoid buffer
overflow if heater number is out of range
Improvements to support Matt's web interface

Increase incoming web gcode buffer size to 1200 chars to allow more
gcodes to be sent in each message
Include free buffer size in poll response
Include response sequence number in poll response
Implement M30 (delete file) via USB interface
Support M503 and M111 commands via web interface
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
Further improvements to web upload and tidy-up

Further improved web file upload speed
Dealt with Eclipse code analysis warnings
Made some more functions and parameters const-correct
Updated binary and changed its name
File upload improvements

Further increased upload speed
When uploading files, preserve comments
Reverted a buffer size to fix random print hang

Reverted STRING_LENGTH to 1029 to avoid random print hangs that occurred
using 0.57f firmware. Reduced max reported buffer size to fit within
this. Report additional memory usage detail in response to M111 S0.
Doing a G30 is equivalent to homing the Z-axis

Now sets the axisIsHomed flag for the Z-axis when a G30 command has been
executed successfully, because that puts the Z-axis at a known height.
Web interface improvements

Increase TCP window size from 1 to 2 packets and increase maximum amount
of web data sent to 1460. This decreases the page load time fro a
Windows client fro 6 seconds to less than 1 second. It also fixes a
problem whereby when using a Ubuntu client, file upload and direct print
didn't work unless the reprap.js file was edited to reduce the maximum
amount of data sent per request. Also we now initialize unused memory
with known data so that in response to the M111 S1 command we can better
estimate the amount of free memory.
Further improved web page loading speed

Adjusted TCP MSS and HTTP output buffer sizes to further improve speed
of serving web pages
G32 and G92 improvements

1. G92 with a Z value now sets exactly that Z value even if bed
compensation is in effect.
2. If G32 is run before the Z axis is homed, the first bed probe in the
G32 sequence homes the Z axiws.
Improved PID parameters and made them configurable

Implemented M301 command to get/set PID parameters. Improved the PID
parameters and made minor changes to the PID algorithm to improve PID
performance with Ormerod hot end.
Remove debug from Heat.cpp
Fix to DDA acceleration calculation

Fixed problem with DDA acceleration calculation identified by rayhicks
Added 57n binary
Various changes relating to zprobe and non-volatile data

1. Z-probing is now done in two stages: a fast stage at the configured
home feed rate until within 10% of the target value, then a slow stage
at 20% of that feed rate.
2. Provisional support for ultrasonic Z-probe.
3. Added calibration temperature and height temperature coefficient to Z
probe parameters.
4. Z-probe parameters and Z-probe type are now saved to flash memory so
that they survive power-off and reset cycles. Separate parameters are
retained for IR and ultrasonic probes in case both are fitted.
5. Fixed issue with doing slow Z-moves immediately after Z-homing or
probing.
Fixed error with z-homing in previous release

Fixed a random hang after z-homing in the previous release. Also make Z
probe temperature coefficient default to zero always, and Z probe
calibration temperature default to current bed temperature always.