resolves #417 update xref to support interdocument references
make refid lookup smoother
Merge pull request #570 from mojavelinux/xref

resolves #417 update xref to support interdocument references
resolves #575, #572 and #581 refactor reader to track include stack

- split the Reader into Reader and PreprocessorReader
- maintain an internal stack of include contexts
- report file names with line numbers
- rework reader tests
- rename several reader methods to be more intuitive
- optimize operations in the readers
don't dup on peek_line; cleanup comments
fix broken tests; remove get* varient of read* methods on Reader
introduce Cursor object to track line info

additionally:

- rename take_* methods/symbols on Reader to read_*
- fix missing direct logic on peek_line
- add rdoc
move registration of include to push_include
introduce method to calc path relative to base_dir
fix warnings, minor optimizations in Reader
skip include directives when processing comment blocks

additionally:

- add tests for skipping include directives in comment blocks
- document exceptions in test cases
- drop unnecessary method aliases
add test for depth set on include in nested file
Merge pull request #580 from mojavelinux/reader-refactoring

resolves #575, #572 and #581 refactor reader to track include stack
don't attempt to print render times when doc is not rendered
resolves #79 extension API for document processing

- preprocessors filter lines before parsing
- treeprocessors run on document after parsing
- postprocessors run on rendered output
- block processors handle blocks with custom names (i.e., styles)
- block macro processors handle custom block macros
- inline macro processors handle custom inline macros
- introduce some optimizations and parsing cleanups
- add new files to gemspec
extension improvements

- make Preprocessor operate on Reader instead of just lines
- add template_name to Inline; make property writable for all node types
- add a finalize_header method to handle preparing to parse body
- spec out idea for preserialize processor
- update tests
Merge pull request #563 from mojavelinux/block-extensions

resolves #79 extension API for document processing