Options class to reduce parameters to parse_document.

svn path=/trunk/tools/quickbook/; revision=84144
Escape paths in dependency list - I want to make this optional.

svn path=/trunk/tools/quickbook/; revision=84145
Make escaping dependent file names optional.

svn path=/trunk/tools/quickbook/; revision=84146
Add comments to location finding code for indented blocks.

svn path=/trunk/tools/quickbook/; revision=84147
Stop storing indentation in mapped source.

Instead work out the relevant position by finding the start of content
and working from there. It doesn't quite get it right if the position is
in the middle of the indentation, but that's fine.

I'm doing this because I want to be able to change the indentation if
it's a mix of tabs and spaces (which it currently messes up).

svn path=/trunk/tools/quickbook/; revision=84148
Store start of unindented block, as the original start.

Was storing the position after the removed text, this meant that I had
to use a special case for the first line, but now the algorithm is smart
enough to get it right.

svn path=/trunk/tools/quickbook/; revision=84149
Clean up mixed tabs/spaces when unindenting.

If the whitespace to be removed when unindenting a block is not
consistent, then replace all the indentation in that block with spaces
(i.e. expand tabs). This fixes some odd results that could happen, e.g.

    ....Line 1
    --->Line 2

(dots = spaces, arrow = tab) would become:

    ...Line 1
    Line 2

Because the first character was removed from each line. This now works
okay.

But I don't expand tabs when the whitespace that isn't removed is
inconsistent, which can have odd results, for example:

    ..Line 1
    ..->Line 2
    ......Line 3

Will just remove the first two spaces, resulting in:

    Line 1
    --->Line 2
    ....Line 3

This should be rare, as tabs after spaces are a bit odd. But maybe I
should convert to spaces more often. Perhaps when indentation is
inconsistent, or perhaps whenever a mixture of tabs and spaces are used,
or even always just do it.

svn path=/trunk/tools/quickbook/; revision=84150
Only recognise preprocessor statements at the start of the line. Refs #8511.

svn path=/trunk/tools/quickbook/; revision=84151
C++11 keywords. Refs #8541.

svn path=/trunk/tools/quickbook/; revision=84152
Macros in docinfo blocks for 1.6. Refs #8543.

svn path=/trunk/tools/quickbook/; revision=84153