First pass at prefix canonicalization, unit tests.
canonicalize_prefix update.

- Added enum value for no prefix, "none".
- canonicalize_prefix now always results in an enum val, possibly "none".
Moved test-decoder-chain.cpp to match decoder-chain.*.
Separated out a fixture.
Canonicalizing just ESC no longer segfaults.
Added pathological cases to canonicalization unit test.
Started on trie decoder. Need a stack push.

The trie works only on circular_buffer_t::const_iterator, as is proper.
However, this is incredibly cumbersome for testing. I already have something
of an adaptor for char const* in test-trie.cpp. This sort of thing should
be generalized so we can use it to test the trie decoder.

There may be a wrinkle here, though. I'm not sure we're going to expose
the trie in trie decoder, especially since there will be one per prefix.
We may have to duplicate some effort here.