Merge tools directory from trunk.
Quickbook: Change the anchor markup for headers.

Use a phrase with an id inside the header.

Using an anchor before the heading was causing problems when the heading
wasn't inside a section.

We can't use an anchor inside the header when it links to itself, as it
messes up getting the title for the link. Using an empty phrase means
that it will just get the empty title for the phrase. Thanks to John
Maddock for the idea.

This does generate slightly odd markup. We could possibly use the old
style markup whenever section depth > 0, since we would know that we're
inside a section, but that seems like an unnecessary complication.
Quickbook: merge from trunk to dev.
Quickbook: Merge from trunk to quickbook-dev.
Quickbook: Merge from trunk to quickbook-dev.
Quickbook: Merge to quickbook-dev.
Quickbook: Port Rene's sort code inclusion to quickbook-dev.
Quickbook: Use deprecated unordered functionality.

This is needed to work with the current trunk version of unordered.
Quickbook: Remove accidental commit.
Quickbook: Use `boost::unordered::piecewise_construct`.
Quickbook: Avoid a Visual C++ warning.
Quickbook: Heading tests for quickbook 1.1

And make the other consistent.
Quickbook: Fully qualify footnote and callout ids.
Quickbook: Close any open sections at end of document.
Quickbook: Change the anchor markup for headers.

Use a phrase with an id inside the header.

Using an anchor before the heading was causing problems when the heading
wasn't inside a section.

We can't use an anchor inside the header when it links to itself, as it
messes up getting the title for the link. Using an empty phrase means
that it will just get the empty title for the phrase. Thanks to John
Maddock for the idea.

This does generate slightly odd markup. We could possibly use the old
style markup whenever section depth > 0, since we would know that we're
inside a section, but that seems like an unnecessary complication.
Quickbook: Fix a test.
Quickbook: Clean up whitespace prior to programlisting.
Quickbook: Trim trailing whitespace in code blocks.
Quickbook: Change log for 1.48.
Quickbook: Fix double addition of anchor ids.