Directly index into the various *keys arrays

The 'keys' array is indexed into by reference to the X11 button
number stored in the 'buttons' array. While this may have been
useful at some point in time, the benefits have since gone and
left behind nothing but headaches.

Note that because the association with X11 buttons has been
removed, systems which set both raw *and* action button mappings
will appear to have the button number associated with actions
change. Since the only way to set raw button mappings is via
xorg.conf, there is little expected fallout from this change.
Replace multiple default variables with arrays

Storing the defaults for strips and wheels in individual
variables makes updating and scanning through them very
tedious. This patch replaces the variables with arrays
and introduces new #define statements to keep the level
of semantic meaning we had.
Remove support for 8-bit (raw button) strip/ring properties

This patch removes the ability to set up the touchstrips or
touchrings with raw 8-bit button numbers. Buttons have been
without this ability for quite some time, and this brings
these two properties in line.

This patch will break applications which rely on the use
of raw buttons in the properties, but the actual fallout is
expected to be minimal. Applications which don't understand
Actions are already broken (since they can't work with buttons)
and those that do understand Actions but don't use them can
be easily modified.
Cleanup call chain for action properties

This patch rewrites the call chains used for setting the three
action properties by introducing a single function to handle
the 'Actions' properties, and a single function for 'Action'
properties. Functions which were merely helper functions have
been inlined if appropriate.
Initialize action properties from defaults

This patch adds functions capable of resetting the action
properties (button/stip/wheel) to their default, and calls
them on initialization.
Reset-on-None for Actions property

This patch adds the ability to reset an individual Action by
setting the corresponding element of an Actions property to
the 'None' atom (i.e. 0). When encountered, the None will be
replaced with an atom representing the default Action. This
will let the driver behave as it currently does once raw
button support is removed.
Remove raw button fallback codepaths from wcmCommon

With actions now defined on initialization and reset to default
when given a 'None' action, we can remove the raw button codepaths
without a noticible change in driver behavior.
Use physical button numbering instead of X11 numbering

This patch changes the button numbering on devices to follow the
logical ordering (1, 2, 3, 4, 5, ...) rather than the faux-mouse
ordering (1, 2, 3, 8, 9, ...) that we've been using so far. This
change is targeted at libwacom, which defines the button layout
in terms of physical button numbers.

Setting a specific action to physical buttons 4 or higher no
longer needs to take into account the "dead zone" of buttons 4-7
that has existed -- these buttons numbers are now usable.

This change *will* break *all* non-xorg.conf configurations which
set actions on buttons 4 or higher.