Workaround initialiser list bug in gcc 4.4.
Combine some of the headers.
Rename iterator typedef to n_iterator.
Revert some changes so that I can merge to master.

Revert "Rename iterator typedef to n_iterator." and "Combine some of the
headers."

This reverts commits: 2f6b81d8c10a7eb4f043b9fc207e287d0d5c43f0 and
e1b39bbbfb7b1a8af988254eb38ea8fd0e30c04e.
Initialize data_ in value_base default constructor

This means data_ should get initialized in the default constructor for boost::unordered::detail::unique_node (and any other inheritors), as this constructor will be called there.

This uninitialized data member was reported by Coverity (CID 49445), which unfortunately does not seem to have any convenient way to publicly, globally address issues.
Fix pointer types in iterators.

https://svn.boost.org/trac/boost/ticket/10672
Changelog
Merge branch 'develop'