Start using the device GUIDs in bindings so we don't try to assign mappings to the wrong input device on successive runs.
Fix to be C++ correct
Try to hide all details about GUID wrangling from the keybinding layer.
reduce warnings, unused vars, unnecessary casts.
Avoid stupid potential overflow.
Avoid Stupid potential overflow in BOTH locations.
Factor out string scanning into it's own function.
Remove invalid default axis bindings.
NUL terminate in ReadToTok if possible.

Eliminate spurious warning about signed/unsigned comparisons.
Merge pull request #3141 from kuroneko/kn-better-joystick-interface

Improved Joystick Binding