temp.c: fix typo.
config.teensypp.h: Modify pins to be more like Teensylu and Printrboard.
heater.c: Add comments about units of PID variables and constants.
simulator: Turn off printf format warnings

PC-based target emits warnings about printf formats, but there's nothing
to be done about them, really.  Turn them off for polite builds.
dda.c: Update links to 'Generate stepper-motor speed profiles in real time' David Austin 2004 Embedded article.
heater.c: Update link to 'PID without a PhD' Tim Wescott 2000 Embedded article.
mendel.c: Enable DEBUG_LED_PIN output if defined.
config.teensypp.h: Update to match testbed hardware.
dda.c: endstop stop more reliably.
gcode_parse.h: raise S word size.

Some M-codes apparently need this. Perhaps it could be avoided,
but it costs just 8 bytes binary size and 2 bytes RAM, so not
really a reason to make a headache.
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.
Add gnuplot script to explore approximate_distance.

Error is less than 5% for explored range [0,200000].