Implement debouncing keys

On my Kinesis, it frequently happened that a key would trigger twice on
one keypress, e.g. I’d see “lonng” instead of “long” on my screen.

With this change, keys have to be recognized as pressed 8 times in a row
in order to be reported as pressed. This constant might need to be
tweaked for each kind of hardware. I didn’t do any calculations or
measurements — I just tried 8 and it worked fine for me so far.
Add missing 'const' to PROGMEM declarations
Update shared.lua to be compatible with lua 5.2
calculated static matrix size in matrix.h
ignore vim swap files
submodule lufa, tag/version 140302
switch to lufa 140302

    some function calls/parameters and constants changed

    checkinvalidevents removed, as there is no such target in the
    original makefile anymore

    programming target probably doesn't work anymore, as the endpoint
    must be re-defined

    deleted old lufa dir, new lufa is submodule, see
    b583437183ef61d56213dccaae655728fabc4d71