Use Keyword IDs to Match Commercial Components

We were using mangled keyword names to match commercial components but the mangling was becoming increasingly bizarre and it was unclear why we weren't using IDs instead.  So this change replaces keyword names with keyword IDs.  The match is done against the last part of the keyword ID.
The terminology has been made consistent so that *keyword* refers to a CAPI keyword instance, and the IDs are referred to as *keywordId* rather than keyword.