Speed upper/lower bound on entries and symbols

Use std::map specialized versions
Store entries per object

As we need to check for address validity via lookup in memory objects,
it make sense to store entries in memory object, rather than in global
storage.
Store pointer to EntryData in EntryStorage

As we can't use std::map::emplace, let us don't waste time on temporaries
construction
Eliminate self-calls during branch fixup