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.
Fix group_hash's return type.
Restore the extra warnings in the unit tests.
Make a cast explicit in order to avoid a warning.
Use 'BOOST_UNORDERED' prefix for macros.
Initialise this branch (hopefully..)
Merge in changes.
Don't add size_type to pointers, cast to difference_type.
I messed up the last commit, this fixes it.
Get rid of last_in_group.
Use node_count to implement group_count.
Some minor changes for Visual C++.
Inline some more methods.
Some of the changes to the introduction mention in the review. Hopefully this
will make it a little clearer.
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).
Specify the namespace for 'std::out_of_range' in the reference documentation.
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.
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.
Fix the badly marked up bullet points.
We now have cbegin and cend for local iterators.