Version 0.5.0, 1/2/2006
  - Realized that assignment to *i for const_iterators was
    being allowed.  Fixed.
  - Forced instantiation of whole template and caught
    several typos (iterator in place of const_iterator, etc.)
  - Can now find the size of subtrees using a size() method
    of iterator or const_iterator
  - i += n for sibling_iterators
  - Added range constructor to build n-ary trees
  - Allow conversion from iterator to const_iterator
  - Added height() and height_leftmost() tree methods
  - First serious attempt at pointer specialization.  It is
    disabled by default because it is incomplete and programs
    with only a few types of pointer trees will get larger.
    If you have many different types of trees, then the program
    size should increase less with specialization enabled.
    Suggestions on the best way to implement specialization
    are welcome.

Version 0.2.1, 12/17/2005
  - Compatible with gcc 4.0
  - Pruning for const_preorder_iterator
  - Added depth counter for iterators
  - Added addition operator to sibling_iterators so that you can
    do stuff like j = i + 1.

Version 0.2.0, 04/05/2005
  - Now compatible with gcc 3.4
  - In between 0.1.0 and 0.2.0, the tree class saw
    extensive use representing parse trees and various
    other tree structures in my own programs.  Remaining
    bugs are likely in methods I don't use very often
    but provided because they seemed useful.

Version 0.1.0, 07/18/2003
  - very general tree template
  - STL compatible
