resolves #804 rewrite extensions to support extension instances

- rewrite extensions to support extension instances
  - class names, class instances and blocks are supported for every kind of extension
- document extension APIs
- introduce DSL for configuring extensions
- add named group registration
- add require library flag, -r, to cli for custom requires
- add convenience methods on extension processor for creating various nodes
- support lamba as process method
- move all DSL methods to DSL classes
- allow extension group or extensions registry to be passed to document
- rename name dsl method to named; add helper method to parse content
- refactor extension in Rakefile to work with new extension API
- document extension APIs, use methods to retrieve all extensions
- add default content model map to simplify Block creation
- allow subs to be overridden in block constructor
- add content_model option for macros to disable attribute parsing
- allow empty target for block macro
- add name_positional_attributes alias to pos_attrs option
- rename methods to import dsl, update docs
- don't output style on open block if nil, add missing endlines
- pass attributes to Processor#parse_content
- clear attributes if no block is dropped, update default content model map
- duplicate attributes passed to processor; change return nil to return
- add create method for example
- add caption based on presence of <context>-caption attribute
- move image postprocessing to generic location
- add extension tests and docs
- optimizations:
  - replace more calls to .nil? with truth checks
  - remove duplicate lookup of source in constructor
  - optimize caption assignment
  - cache path resolver
  - change order of truths in reader and document
Merge pull request #890 from mojavelinux/issue-804

resolves #804 rewrite extensions to support extension instances
call each thing by its right name

- rename Lexer to Parser
- use dot notation instead of double colon notation for class methods
Merge pull request #899 from mojavelinux/lexer-to-parser

call each thing by its right name
resolves #554 switch default docbook backend to docbook5

- switch docbook backend to docbook5.
- make tests for DocBook 4.5 specify the correct backend
- update documentation to reflect new docbook backend
resolves #554 make docbook45 templates inherit from the docbook5 templates
minor optimizations
resolves #743 make Reader#push_include work without file / path info
resolves #743 set defaults for file, path and dir in push_include
merge pull request #852 from @bk2204
update name of processor instance if overridden at registration
include directive fixes

- correct path calculation in Opal
- raise IOError on 404 response in Opal
- print message in document when include is not resolved
- chomp endlines from template result when running in Opal
pass document as first argument to process method on Preprocessor
small optimization
resolves #876 an unresolved footnote ref should not crash processor
Merge pull request #900 from mojavelinux/issue-876

resolves #876 an unresolved footnote ref should not crash processor
resolves #574 add -r and -I flags to asciidoctor command
Merge pull request #902 from mojavelinux/issue-574

resolves #574 add -r and -I flags to asciidoctor command
set version to v1.5.0.preview.2
Release 1.5.0.preview.2