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.
DDA: Convert TARGET axis vars to array.

In preparation for more efficient and scalable code using axis-loops
for common operations, add two new array-types for signed and unsigned
32-bit values per axis. Make the TARGET type use this array instead of
its current X, Y, Z, and E variables.

Traumflug notes:

- Did the usual conversion to spaces for changed lines.

- Added X = 0 to the enum. Just for peace of mind.

- Excellent patch!

Initially I wanted to make the new array an anonymous union with the
old variables to allow accessing values both ways. This way it would
have been possible to do the transition in smaller pieces. But as
the patch worked so flawlessly and binary size is precisely the
same, I abandoned this idea. Maybe it's a good idea in other areas.