Fully merge boostbook from trunk.

- Optionally use section ids as a class name for CSS styling, by using the
  `boost.section.class.add.id` parameter.
- Add the `role` attribute to the class for `section` and `simplesect`.
- Update the single html template to be closer to the chunked html.
- Fix the encoding for single page html.
- Add option to permit single depth TOC at chapter level, while maintaining
  multi-depth TOC at subsequent levels. Use the `boost.noexpand.chapter.toc`
  parameter.
- Add some C++11 keywords to the syntax highlighter.
- Support the fixed-length `$Date:: $` subversion keyword in last-revision
  library attributes.