Swap forseti clients over to using primitive maps.

Replace Forseti clients usage of regular hashmaps with hopscotch primitive
maps for tracking local lock counts. This makes a large section of the forseti
hot path GC free.

Also includes the optimization from RecordChanges where we allocate a new map
if the existing map has gotten larger than 32 entries.
This section is more or less duplicated a couple of times. Maybe that can be abstracted?