Rebase onto master
Modularisation of markup engines
   * if a JBake supported engine is not found on classpath, we must skip it too
Modularisation of markup engines
   * if a JBake supported engine is not found on classpath, we must skip it too
   * added an ErrorEngine so that the user gets nice error message on rendered page
Fixed hardcoded file extensions in FileUtil
Lazy initialize engine, so that it doesn't consume time if no document needs to be rendered
Integrate with OrientDB
   * make use of OrientDB to store documents converted by parsers
   * support for incremental rendering if source file changed
   * prepare work for multiple document types
   * prepare work for multiple template engines
Rendering architecture rewrite part 1
   * Introduced abstract renderer
   * Freemarker is an implementation of a renderer
   * Renderer delegates to FreemarkerRenderer
Rendering architecture rewrite part 2
    * Renamed renderers to template engines (closer to the concept)
    * introduced a delegating template engine
    * separated Freemarker from core and made it optional
    * tags do not require the full list of docs in RAM anymore
    * renamed org.jbake.parser.Engines.properties to MarkupEngines.properties
    * "index", "archive" and "feed" are normal document types (config options are now optional)
Rendering architecture: support for Groovy template engine
   * added GroovyTemplateEngine
   * GroovyRendererTest test case uses .gsp files equivalent to .ftl
Add support for custom document types
   * read from configuration file (template.[doctype].file)
Clear cache if templates have changed
    * template change <=> force rendering of all documents
    * use SHA1 based hashing to compute a checksum of the templates directory
    * use the directory granularity because templates may include other templates
Make Groovy dependency optional
Refactor renderDocument to use a Writer instead of File
   * Writer is more modular
   * allows the Groovy template engine to gain access to the other rendering engines
   * so you can do "include 'freemarker-template.ftl' from a Groovy template
Removed APL2 license
Introduce optional "cached=false" metadata
   * :jbake-cached: false inside Asciidoctor files
   * forces rendering of a page even if contents or template hasn't change
   * fix rendering of index
   * make all document types (including custom types) available from templates
Make "alltags" available to templates
Fix sitemap rendering using writer
Add published_pages to template engines
[maven-release-plugin] prepare release v2.2.1
[maven-release-plugin] prepare for next development iteration