Two speed improvements to ArrayMappedTrie_packed

- Switch insertion to use 'destination passing style'.

- Change set_subtree so that its caller has responsibility for setting
  the entry to be a subtree.

- Reduce allocations by making an array go immediately to size 32 if
  there are more than 16 elements. This entailed a new kind of entry:
  'empty'.