heater.c: Limit PID I term with conditional integration.
heater.c: Enable more anti-windup with PID_CONDITIONAL_INTEGRATION.
heater.c, config.default.h: Make PID_CONDITIONAL_INTEGRATION non-optional.

See
https://github.com/Traumflug/Teacup_Firmware/issues/74#issuecomment-38999466
Get rid of E_STARTSTOP_STEPS.

This meant to be a firmware-provided retract feature but was
never really supported by G-code generators. Without their support
(by issueing M101/M103), it's pretty hard to detect extrusion
pauses, so this feature simply has no future.

As this was on by default, it saves over 200 bytes binary size
in a default configuration.
Implement adaptive homing feedrates.

For now for X min only, but it works excellently already.
Tested quite a few combinations and raising acceleration
or endstop clearance raises homing feedrate just as expected.

Quite a chunk of the code is for testing the given configuration,
only. A thing which would ideally be done for every macro
used in each code file.
config.*.h: distribute adaptive homing feedrate to all templates.
home.c: adaptive homing feedrates for all axes.
home.c: remove some redundant preprocessor stuff.

Binary size is exactly the same, to the optimizer apparently
manages to drop empty functions.
gcode_process.c: more preprocessor conditions for homing movements.

Well, optimizer isn't _that_ smart. It apparently removes
empty functions in the same compilation unit ( = source code file),
but not ones across units.

This saves 10 bytes binary size per endstop not used, so 30 bytes
in a standard configuration. All without any drawbacks.