Initial commit
Amazingly, it complied and appeared to work.
Set hook supported
Basic general-use api now ready

works for:
	Trees: rbtree
	Hooks: base, member
	Annotations: fixed value monoid
Merge commit 'c7850d1b038213b24596ace71e9f0290d90f9e01' into new_master

This was fudged in when splicing my commits into a fork of ryppl's
boost-svn -> github mirror, in order to make the version of boost::move
in my repo at this point match the version of boost::move that I
originally added manually in the next commit ("Function-value monoids,
+various handy typedefs")

This actual time now is Sat Oct 6 12:05:43 2012 +0100
Function-value monoids, +various handy typedefs

Function value monoids
======================
- introduce apply_annotation_config_bool and explicit_annotation_hook_bool
   ... get_real_annotations ensures that if you have an annotation that has config applied, the result is an annotation with an explicit hook type, which is the un-evaled annotation
- introduce make_real_annotation, which applies annotation config to an annotation that's passed in
- introduce get_real_annotations, which is map(make_real_annotation (if required), annotations)
- implement function_monoid_annotation
- introduce get_annotation_hook, which extracts T::annotation_hook if T::explicit_annotation_hook_type
- annotation algorithms: use get_annotation_hook instead of just assuming annotation==hok

General Convenience
===================
- gneric annotated node - add 'annotations' typedef
- generic annotation list - add 'annotations' typedef, so it has the unexpanded object as well as the contents.
- add 'annotations_supported', a member looked for in value_traits to indicate that those traits support annotations
- migrate detail::base_hook_traits to accept annotated node traits, define annotations_supported
- migrate detail::member_hook_traits simlarly
- add all the annotation-related typedefs into rbtree.hpp
- introduce 'get_annotations' to get annotations out of value traits, which may or may not support annotations, or may get the annotation list from the hook
- introduce default_annotations, which means "support everything in the hook"

General Improvements
====================
- improve DESIGN
- generic_hook - reformat, rmeove old node_plus_annotations
- add static asserts to the generic annotation list traits to make sure that the annotation list is convertible to the annotation holder in annotation value getter/setter
- rename associative_fold to is_associative_fold
- refactor the monoid annotation templates
- document and simplify get_value_traits
- introduce get_real_value_traits, to reduce duplication of this functionality

Tests
=====
- add tree_test to cmakelists as a test
- use annotated_node_algorithms in rbtree.hpp's impl
Merge commit '822cb5f' (svn rev r76106)

Also add a hack into workaround.hpp and add a workaround into
the tests for a regression in r76106

Conflicts:
	boost/intrusive/detail/tree_algorithms.hpp
	boost/intrusive/detail/utilities.hpp
	boost/intrusive/rbtree.hpp
	boost/intrusive/rbtree_algorithms.hpp
Merge commit 'aab8280'
Merge commit 'f245f28'

Conflicts:
	boost/intrusive/detail/generic_hook.hpp
	boost/intrusive/detail/tree_algorithms.hpp
	boost/intrusive/rbtree.hpp
	boost/intrusive/rbtree_algorithms.hpp
Merge commit '1fa8999' into HEAD