Symbol-based trie classes.

Squashed commit of the following:

commit 18a2d897da442c69d90124bdaa44ca6bf2816805
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Thu Jun 20 20:52:52 2013 -0400

    refactoring

commit d38d89040f879f4ac0388b9f5014333709e1b736
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Tue Jun 11 23:58:07 2013 -0400

    strie update fix - allow update with arbitrary data

commit 55bce9e2f792621ff0910a47f438317a04dadb26
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Thu Jun 6 20:26:38 2013 -0400

    s-trie method added - folding data through the key parts

commit c312ff1310a58a6bdb260627e0f89466c2a254f1
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Wed Jun 5 20:33:36 2013 -0400

    optional exact key matching methods added; refactoring & cleanup.

commit dd08509182359b0054d0cfa7a809dcf380653785
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Tue May 21 22:47:47 2013 -0400

    update method added to s-trie; minor fixes.

commit 39f13563e698cdbd1dad4110e78b9fa3e04d3fdf
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Sat May 18 21:03:05 2013 -0400

    minor fix and cleanup; test case added; mmap-based s-trie works!

commit 4a3b21add8179c5a2198c93b32c4115918699c68
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Thu May 16 23:47:42 2013 -0400

    memory-region based s-trie classes; work in progress

commit 0d081f500956d9b1c066f2ceb0c5dce075d4ed5a
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Wed May 15 23:48:14 2013 -0400

    strie refactoring - work in progress

commit a185342c72b07998a893f2103972cb9e33b9de9f
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Tue May 7 19:20:14 2013 -0400

    refactoring

commit 5837f658e23a93179be65fd24839d7cc7eab9495
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Tue May 7 00:30:26 2013 -0400

    refactoring

commit 5e485fb781c777d5f909e5478412dcb296fe0b27
Author: Dmitriy Kargapolov <dmitriy.kargapolov@gmail.com>
Date:   Sun May 5 23:53:18 2013 -0400

    symbol-based trie - experimental code, work in progress.