1) Using boost::preprocessor to reduce code duplicities when defining
new configuration values.
2) Implemented static hash() and operator== on StaticPrintConfig derived
classes to support hash tables of instances thereof.
- show extra travel acceleration settings in 'Machine limits' page in Printer Settings
when the new firmware flavor is selected
- updated tooltips on the config values (they were basically wrong even in the current version)
- 'Marlin (legacy)' firmware flavor behaviour should not change: it exports M204 Pa Rb Ta
(where a, b are the values from machine limits) at the beginning of gcode and it uses
M204 S... for feature type dependent acceleration settings (legacy variant of M204 P.. T..)
- new Marlin Firmware exports M204 Pa Rb Tc (where a,b,c are the values from machine limits).
Feature type dependent acceleration is set using M204 P..., not overriding the travel acceleration.
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.