Optimized, compact header map

A present for you, Stuart :)

At least one test isn't passing yet, but I wanted you to at least look it over.  If I have a chance I'll fix the problem and amend the PR tonight (I have to run some errands right now).  Note that the map doesn't yet implement limiting collisions or  total size, and a couple other features I'd like to discuss as well.