Droptest: optimize macToString

This elides the creation of multiple objects and rather formats the
bytes quickly.

Change-Id: Iabac79bf86c0b2098bffe69f221797f2fd1c326f
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
Optimize conversionMapping table

Once the table has been initialized, we can switch it to immutable, as
the keys (Short) provide fast hashCode/equals. Saves memory and
increases lookup speed.

Change-Id: I4698f44ce5a8e83c7c54e544e5ab72487f22a92e
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
Improve InjectionKey performance

As it turns out we put these into a HashMap, so not dispersing on class
name is actively hurting us. The trade-off here is between hashCode()
performance and its effectiveness.

The design of this class called for Strings to be used as identifiers,
and hashCode() of strings is generally slow. As it turns out, though,
all the strings used were derived from classes -- which is good news.

This patch switches to using Class<?> objects as identifiers, as they
have fast hashCode/equals and the lookups are equivalent.

Change-Id: I51e572dc98088733eca15c35ee6d0bac991c5da7
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>