Branch to work on filename handling without disturbing trunk.

SVN-Revision: 68345
Use generic string for `__FILENAME__`.

Will hopefully a bit more consistent across platforms. Obviously proper
conversion to UTF-8 would be better.

SVN-Revision: 68391
Change the way the filename is stored.

No longer stored in the iterator which means there's less messing around
with pointers and strings. Always stored as a fs::path which will help
with support for unicode. Also passed to outwarn and outerr as fs::path
so they can handle writing unicode filenames to the output.

SVN-Revision: 68392
Use fs::path in more places.

SVN-Revision: 68393
Use filesystem alias more consistently.

SVN-Revision: 68394
Replace input_path with manual path conversion.

SVN-Revision: 68395
Use a function to convert paths to and from utf-8.

This will eventually try to cope with unicode characters. Not sure if
it'll ever be truely cross platform.

SVN-Revision: 68396
Windows support for unicode filenames.

SVN-Revision: 68397
Fix class/struct warning.

SVN-Revision: 68398
Move error and warning functions into input_path.

I'll rename it after merging with trunk. I'm just collecting all the
input and output functions together.

SVN-Revision: 68561
Turn debug symbols off when testing quickbook.

Fixes an odd error with the Boost Build Visual C++ tool.

SVN-Revision: 68562
Support for wide output streams on windows.

SVN-Revision: 68563
Fix default output filename.

SVN-Revision: 68565
Add ids to bridgeheads.

Prevents docbook from making up ever changing ids. It would be nice to
use the heading's anchor. But that causes docbook to complain that it
can't generate a title for the link.

SVN-Revision: 68595
Nicer link break warnings.

SVN-Revision: 68609
Check for portable paths in more places.

SVN-Revision: 68654
Fix rooted path handling on windows.

Was using `!path.is_complete()` to check if a path is relative - this
doesn't work on windows since paths like `\a\b` and `c:foo` aren't
complete or absolute. So now use
`!path.has_root_directory && !path.has_root_name()` instead.

SVN-Revision: 68655
Partial fix for portable path detection.

`portable_posix_name` is for checking names not paths. So instead just
warn if the path contains a `\` which is close enough. Should really be
using URLs. Maybe converting `\` to `/` (with a warning) for backwards
compatability.

SVN-Revision: 68656
Get the quickbook test tool working from other directories.

SVN-Revision: 68875
Count lines and columns from 1 in the quickbook iterator.

SVN-Revision: 68876