Export to various flavors of (X)HTML

* lisp/ox-html.el: (org-html-doctype-alist): New variable holding an
alist of (X)HTML doctypes
(org-html-xhtml-p): New function
(org-html-html5-p): New function
(org-html-close-tag): New function
(org-html-html5-fancy): New export option, determining whether or not to
use HTML5-specific elements.
(org-html-html5-elements): New variable, new HTML5 elements.
(org-html-special-block): Export special blocks to new HTML5 elements.
(org-html-format-inline-image): Use <figure> and <figcaption> for
standalone images.
(org-html-format-inline-image,org-html--build-meta-info)
(org-html--build-head,org-html--build-pre/postable,org-html-template)
(org-html-horizontal-rule,org-html-format-list-item)
(org-html-line-break,org-html-table,`org-html-verse-block): Changes to
allow flavored export.

* doc/org.texi: Document export to (X)HTML flavors.
org.el: Execute org-insert-heading and org-insert-heading-respect-content in
orgstruct++-mode when the context around point is an item-body.

* org.el (orgstruct-make-binding): Execute org-insert-heading
and org-insert-heading-respect-content when the context around
point is an item-body.
mk/server.mk: add babel and exporter files in contrib to elpaplus

* mk/server.mk (elpaplus-dirty elpaplus-up): Add babel and exporter
  files in contrib by extending ORG_ADD_CONTRIB with their
  prefix-globs.
Merge branch 'maint'
allow insertion of non-strings into Org code blocks

* lisp/ob-org.el (org-babel-expand-body:org): Allow insertion of
  non-strings into Org code blocks.
Fix priority order for inheriting header arguments

* ob-core.el (org-babel-parse-src-block-match): Fix order of list of header
arguments.
Babel ocaml: Fix the interaction with the toplevel

* lisp/ob-ocaml.el (org-babel-execute:ocaml): Always append ";;" at the end of
the expression before sending it to the toplevel.
(org-babel-execute:ocaml): Do not remove the type information if "verbatim" is a
results parameter of the code block.
(org-babel-ocaml-parse-output): Make sure the complete type is taken into
account when matching against known types.
Babel ocaml: allow ocaml code to run during asynchronous export

* lisp/ob-ocaml.el: Add a custom variable `org-babel-ocaml-command' to specify
the name of the toplevel to run.
(org-babel-prep-session:ocaml): Directly call `tuareg-run-process-if-needed'
with `org-babel-ocaml-command' as argument.
Add option to always show DONE days as green on consistency graph. It can be enabled by setting `org-habit-show-done-alwyays-green' variable to t.

* lisp/org-habit.el (org-habit-get-faces): Add show done days green option.
org.texi (Conventions): Fix typo

* org.texi (Conventions): Fix typo.
Merge branch 'maint'
Babel ocaml: fix bug where the first exported result would end up in the ocaml
buffer

* lisp/ob-ocaml.el (org-babel-prep-session:ocaml): use `save-window-excursion'
around the code starting the tuareg process.
org.el (org-get-outline-path): Remove statistical and checkboxes cookies

* org.el (org-get-outline-path): Remove statistical and
checkboxes cookies.

Thanks to Marcel van der Boom for reporting this.
Merge branch 'maint'
ox: Tolerate included file names without double quotes

* lisp/ox.el (org-export-expand-include-keyword): Tolerate included
  file names without double quotes.
Merge branch 'maint'
ox-html: Ensure space between tag and attribute when closing tags

* lisp/ox-html.el (org-html-close-tag): Add space before attr.

We might get an attribute to a tag with no space at its start.  Rather
than auditing all callers, unconditionally separate the tag from its
attributes with a space when closing the tag.