Actually, there are some things in the unordered code that aren't ready for
trunk, so I'll rename the branch and create another one to be added to trunk
later.


[SVN r42182]
Fix group_hash's return type.


[SVN r42197]
Restore the extra warnings in the unit tests.

[SVN r42198]
Make a cast explicit in order to avoid a warning.

[SVN r42199]
Use 'BOOST_UNORDERED' prefix for macros.

[SVN r42203]
Merge in changes.

[SVN r42210]
Don't add size_type to pointers, cast to difference_type.

[SVN r42215]
I messed up the last commit, this fixes it.

[SVN r42216]
Get rid of last_in_group.

[SVN r42218]
Use node_count to implement group_count.

[SVN r42219]
Some minor changes for Visual C++.

[SVN r42231]
Inline some more methods.

[SVN r42233]
Some of the changes to the introduction mention in the review. Hopefully this
will make it a little clearer.


[SVN r42335]
Try to make the buckets explanation a little easier to read. Most of the
changes were based on Jamie Allsop (same for the last commit).


[SVN r42336]
Specify the namespace for 'std::out_of_range' in the reference documentation.

[SVN r42339]
Rewrite much of the 'controlling the number of buckets' section.

I'm trying to make it clearer. It's a bit tricky as the standard doesn't guarantee much.
Instead of diving straight into the details I have tried to give the reader a rough
idea of what 'rehash' does and what the load factor is. This is hopefully enough to
understand the more detailled discussion of how you can control the number of buckets.
Then finally I discuss iterator invalidation.


[SVN r42345]
Move the table summarizing methods for controlling bucket size next to the discussion of these methods. The paragraphs about insert and invalidating iterator moves on to something else.

[SVN r42346]
Fix the badly marked up bullet points.

[SVN r42348]
We now have cbegin and cend for local iterators.


[SVN r42349]
Minor tweak.

[SVN r42520]