added common hierarchy for Block and Document

- pair programmed with @lightguard
- fixes extensions invoked when parent is Document
Merge pull request #108 from mojavelinux/abstract-block

added common hierarchy for Block and Document
add missing AbstractBlock and AbstractBlockImpl classes
shift snapshot version from 0.1.5 to 1.5.0
Merge pull request #110 from mojavelinux/version-switch-1.5.0

shift snapshot version from 0.1.5 to 1.5.0
Merge pull request #109 from mojavelinux/abstract-block-cont

add missing AbstractBlock and AbstractBlockImpl classes
Add case insensitivity for document attributes. fixes #106
Merge pull request #115 from smigielski/incasesensitivity

Add case insensitivity for document attributes. fixes #106
fixes issue #113 by allowing users pass list of lines instead of one big line. Also createBlock can receive another block, not only a document.
fixes issue #116 by getting version form version.rb module instead of asciidoctor.gemspec
updates doc to show Travis build status
fixes issue #101 by adding a call to tearDown method when you do not need anymore asciidoctor resources.
fixexs issue #117 by getting version of gem used.
fixes issue #86 by providing -V version on CLI class.
Asciidoctor Factory can be used to create an instance of Asciidoctor setting gem path or load path