Use SdFatUtil::FreeRam() for freeMemory() if there
Split do_blocking_move() to XY and Z sections to make sure that the Z homing feedrate is not exceeded
Use SdFatUtil::FreeRam() for freeMemory() if there
Merge branch 'sd_freemem' of https://github.com/thinkyhead/Marlin into sd_freemem
Use SdFatUtil::FreeRam() for freeMemory() if there
Merge branch 'sd_freemem' of https://github.com/thinkyhead/Marlin into sd_freemem
Fixes commands not being acknowledged in the same order they are received
in

G0 to G3 were previously acknowledged in the get_command method, causing
them to be possibly acknowledged before commands coming after them that
were acknowledged in process_commands.

This patch fixes this, moving the acknowledgement of G0 to G3 to the
process_commands method as well. These commands are therefore no
longer acknowledged when the enter the cmd_buffer but instead only
acknowledged when the enter the plan_buffer.

Guaranteeing that commands are acknowledged in the same order in which
they were received by the firmware allows host software to be able to
track the life cycle of commands and such a better management of the
firmware's serial buffers as well as better internal command processing
and response parsing without having to depend on throwing an epic
amount of regular expressions against each line received back from the
firmware.

Fixes ErikZalm/Marlin#1147
Merge pull request #1197 from foosel/fix/issue_1147

Fixes commands not being acknowledged in the same order they are received in
Update README.md

Changed "Bed Auto Level" (and variants) to "Auto Bed Compensation".
Update Configuration.h

Changed Auto Bed Level to Auto Bed Compensation
Update ConfigurationStore.cpp

Changed AUTO_BED_LEVEL to AUTO_BED_COMPENSATION
Update vector_3.h
Update vector_3.cpp

Changed AUTO_BED_LEVEL to AUTO_BED_COMPENSATION
Update Servo.cpp

Changed AUTO_BED_LEVELING to AUTO_BED_COMPENSATION
Update Servo.h

Changed AUTO_BED_LEVELING to AUTO_BED_COMPENSATION
Update Marlin_main.cpp

Changed level and leveling to compensation (except with "verbose_level" and "lcd_reset_alert_level").
Update planner.cpp

Changed level and leveling to compensation
Update planner.h

Changed level and leveling to compensation.
Update qr_solve.cpp

Changed leveling to compensation
Update qr_solve.h

Changed level to compensation