introduce Solvable.kind to remove the need for strcmp()/strchr() when
accessing the name in libzypp and other applications.
Its also in preparation of per-kind solving (not implemented yet).
The name prefix (e.g. "pattern:") is still kept but only needed for
capability matching. kind is implemented as an offset (unsigned int)
matching the length of the name prefix. Applications can simply use
(solvable.name + solvable.kind) to strip the prefix from the name.
To prevent name clashes, "product:" was renamed to "prod:". Being
seldomly used, this seems to be acceptable.
Missing understandable documentation on the format of .solv files, the
kind value is currently NOT stored but computed on read.
tools/repo_susetags.c is already prepared to write the kind, solv
version6 should support storing kind values in .solv files.