These changes support keymap versioning, needed to disable repeat by default. The versioning changes are quite minimal.
Keymap: add support for versioning keymaps
Write the Blender version into the keymap
so we can change defaults without breaking existing keymaps.
Based on patch by @Erik Abrahamsson (erik85) with own additions.
Keymap: disable 'repeat' by default for new keymap items
In practice, there are only a limited number of operations we need to
use repeat, typically arrow keys, page up/down and a few others.
Now we don't need to disable repeat explicitly when a modal operator
uses checks for a key being held as was needed for 17cb2a6da0c88.
Use versioning so existing exported keymaps are loaded properly.
PyAPI: expose the file version via bpy.app.version_file
This exposes the version saved to the file,
compatible with bpy.data.version.
This is needed to write out version information into key-maps.