port spirit2 to proto v4 (merged from trunk)
Merged revisions 49661-49662,49666,49669,49735,49756,49770,49811 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r49661 | danieljames | 2008-11-09 12:03:45 +0000 (Sun, 09 Nov 2008) | 1 line
  
  Move hash detail headers out of boost/functional/detail.
........
  r49662 | danieljames | 2008-11-09 12:11:50 +0000 (Sun, 09 Nov 2008) | 1 line
  
  Add a forwarding header for container_fwd.hpp
........
  r49666 | danieljames | 2008-11-09 19:12:05 +0000 (Sun, 09 Nov 2008) | 1 line
  
  Avoid comparing default initialised iterators in position_iterator.
........
  r49669 | danieljames | 2008-11-09 21:57:38 +0000 (Sun, 09 Nov 2008) | 2 lines
  
  Add link to the header to the synopsis in reference documentation.
  Refs #2214
........
  r49735 | danieljames | 2008-11-14 12:51:00 +0000 (Fri, 14 Nov 2008) | 1 line
  
  Explicitly specify the template parameters in the unordered container friend, in order to avoid some warnings.
........
  r49756 | danieljames | 2008-11-14 16:11:16 +0000 (Fri, 14 Nov 2008) | 1 line
  
  Use pragmas to suppress a Visual C++ warning.
........
  r49770 | danieljames | 2008-11-15 13:07:29 +0000 (Sat, 15 Nov 2008) | 1 line
  
  Use the new swap library.
........
  r49811 | danieljames | 2008-11-16 23:10:00 +0000 (Sun, 16 Nov 2008) | 1 line
  
  Fix a typo.
........
Spirit: Merging from trunk
Spirit: Fixing fp helper classes
Spirit.Support: Copyright fix
Spirit: fixing merge problems
Spirit: fixing merge problems
Fix regression (static_assert failure)
merge of cmake build files from trunk per beman
still use "classic" docs.
Merge PDF build changes from Trunk.
fixed. "nothing" is defined as:
    null_actor const nothing = null_actor();
which doesn't make it an actor, rather an "actor base".

Shouldn't it rather be defined as something like:
    actor<null_actor> const nothing = null_actor();
Trying to fix template instantiation depth errors on certain gcc platforms
Trying to fix template instantiation depth errors on certain gcc/darwin platforms
Renamed image file
Minor documentation fix (ticket #2974)

Make all this a bit more succinct
Fixed almost all tab and min/max issues found by inspect tool
Spirit.Classic: fixing #3066
Spirit: refactored loop to avoid warning about assignment in conditional expression (fix #2902)