Merge from trunk.
Merge from trunk.
Properly merge callout fix.
Fix ids in included files.
Change header, as support_attributes.hpp doesn't seem to work on its
own.
Bump the version number.
Reorder the rules within the block and phrase grammars.

I think this order makes sense, I'm not sure if anyone else would agree.
Better handling of single member structs.
Inline some unnecessary rules.
Explicitly instantiate process separately from the grammars and
introduce a hook for generating the output separately.
Starting to separate out boostbook encoding.
Don't include markup in the grammars, instead use a string to indicate
what type of markup is expected.
The rest of the phrase actions.
Separate out block output.
Remove some of the stuff in utils.?pp
Partially translate doc_info handling to new style.
Remove plain_char declaration.
Make the quickbook.hpp and actions.hpp match their respective cpp files.
Separate actions and state.
Use state instead of actions in 'process'.