Updated NEWS.
Split tree and leaf search perf tests into separate functions.
It's faster to use std::vector here instead of std::list.
Speed up build_tree() and search_tree() in flat_segment_tree.

Now all nonleaf node instances are pooled and stored in contiguous memory
region.  I still need to adjust segment_tree in order to make it
buildable.
Put the node classes and its functions inside an impl namespace.

To make it clear that this code is not supposed to be used outside
the two segment tree implementations.
Adopt segment_tree for the new base node structures.