Changed the way field names are generated (for the better).

The new way of generating field names seems to generate more intuitive
names. A field name is composed of four parts:
1. The usage page short name from the xxxx.conf file. That short name
   is now used as-is, so if you want to have all your Keyboard field
   names prefixed by "KEY_" then you should specify exactly that in
   your xxxx.conf files. Previously the "_" was inserted for you.
2. The concatenation of all the collection names that are the
   ancestors of the usage for which a field name is being generated.
   For example, if the usage was nested two deep in collections named
   "Mouse" and "Pointer" then the collection names concatenated would
   be "MousePointer". Only non repeated names are concatenated, so
   "Pointer" and "Pointer" would result in just "Pointer".
3. The usage name from the xxxx.conf file is retrieved. If you have
   overridden the usage name in the xxxx.conf file then that name
   is retrieved instead. Then the field name is sanitized by removing
   characters that are invalid for C language names and the resulting
   string is converted to camel case.
4. All of the above is concatenated and a sequence number is appended
   if necessary to make the field name unique within the C structure
   that is being generated.

The result of all of this is field names that are quite reasonable.
For example, suppose a digitizer Tip Switch usage was nested in two
collections called "Touch Screen" and "Finger", then the field names
generated would be like:
      DIG_TouchScreenFingerTipSwitch   (for the first field instance)
      DIG_TouchScreenFingerTipSwitch_1 (if this is the second instance)

If you had chosen to make the usage page short name "d" in the
000D.conf configuration file for Digitizers, then the above field
names would become:
      dTouchScreenFingerTipSwitch
      dTouchScreenFingerTipSwitch_1

Of course, you could omit the usage page short name altogether if
you don't want a field name prefix.
   (use "git add <file>..." to include in what will be committed)
Updated usage page short names in rd.conf