Improved homing, configurable machine dimensions

min_pos,max_pos and home_pos is stored in eeprom
m206 is modified to set min/max/home position
limit handling outside stepper.c is changed (read_endstop funstion)
Homing is rewritten
- endstops are checked during homing, unexpected behavior is reported
- machine position is kept during homing
- after homing, difference from expected home position is reported
Few cosmetic changes to code
SdFatUtil::FreeRam modified to work under avrstudio