core: Create PairQueryable ID without UUID serialization

As it turns out, serializing a UUID is a resource-consuming operation,
and is not in fact required to compute a unique ID for a PairQueryable
object. The mechanism is therefore swapped for a more efficient one,
while maintaining the form of the serialized ID (in case it is needed
somewhere, though that does not seem to be the case).

The new ID is represented by a new class PairQueryableId which isn't
but a Pair of objects - the corresponding IDs of the PairQueryable
members. PairQueryableId.toString() maintains the serialized form
previously returned from getQueryableId(): "ID1.ID2" (as opposed to
the standard Pair serialization).

Change-Id: Ibf0776567c5ef7f20830c70617dc69806cce3a6b
Bug-Url: https://bugzilla.redhat.com/1123396
Signed-off-by: Lior Vernia <lvernia@redhat.com>