Add AxisNames, rename ControlButtons to ButtonNames
Fix test_control.cc missing TestMapping::config() virtual override
Move error code from common.hh to error.hh

require(expr) is implemented as a better alternative to assert()
for preconditions. Don't need to undef NDEBUG for release builds.
Remove erroneous debug access specifier from signal.hh
Move event-related logic into Controller base class

Mapping and VirtualController now emit the corect signals,
e.g. event/buttonChanged/axisChanged
Rename XDG functions

Use shorter function names: listConfigDirs() becomes configDirs(),
etc.
Improve/fix Monitor class on Linux

The main problem was that removing a Monitorable used
eventDescriptor() to determine the object's descriptor.

But most of the time, the object was somewhat invalid/closed at
that time and thus the descriptor would not be correct.
Minor changes to win32/monitor
Widespread API and internal changes to Control
Minor style change in lua.cc
Fix excessive filtering bug in control.cc
Clip evdev axis values