Button map, unit tests.
Changed most references to buffer_c to circular_buffer_t.

buffer_c was included by and used in too many modules. Most of these
only need the circular buffer iterator type that buffer_c used anyway.
Now, we have a single header that includes boost's circular buffer,
aliases our type, aliases both iter types, and defines a default
capacity.
Shelled modules for trie.
Trie, unit tests.