org-element: Fix holes in cache

* lisp/org-element.el (org-element--cache-stable-types): New variable.
(org-element--cache-sync): Do not store elements with missing parents
in cache.

The bug was introduced in 71c8474ae976b2d05094dcb39849dc65523c22e4.
Parsing doesn't always start from beginning of section, which means
that missing parents aren't always repaired while moving to the
current element.  Therefore, we need to remove any element from cache
with an invalid parent property.
org-element: Small change to cache optimization

* lisp/org-element.el (org-element-at-point): Simplify opportunistic
  shortcut by looking only for blank lines and headlines or
  inlinetasks.  Since regexp is simpler, we can afford to make more
  searches.
Revert "change default sh code block shell to bash"

This reverts commit 1f498c93f297cf39f9afc609433eb764c1480f9e.
multiple code block types for multiple shells

* lisp/ob-sh.el (org-babel-sh-command): Now set from
  `shell-file-name'.
  (org-babel-shell-names): List of specific shells known to Org mode
  shell code blocks.
  (org-babel-execute:shell): New generic shell execution function.
rename ob-sh to ob-shell
finish rename (split up for git)
fix tests with the renamed ob-shell.el

  Note, users may have to edit their local.mk files to change the
  value of BTEST_OB_LANGUAGES to remove sh and include shell.
fixed insertion of results with hashes

  No longer overwrites intervening #+ lines.

* lisp/ob-core.el (org-babel-where-is-src-block-result): Fixed
  insertion of results with hashes.
more shell names
make vanilla: run Emacs -Q with *this* Org loaded

  This change should make it easier to run interactive tests or to
  reproduce problems with the current Org-mode loaded and without any
  personal config.
Makefile: some refactoring for "make vanilla"

* mk/default.mk (BTEST_INIT): Isolate load-path manipulation into
  BTEST_LOAD and do whitespace cleanup.  (EMACSQ): New variable for an
  Emacs with no configuration files.  (NOBATCH, BATCH): Use EMACSQ.

* mk/targets.mk (vanilla): Do not echo command line and explicitly say
  that we don't get a return value.  (CONF_CALL): Add NOBATCH to the
  list of things shown in `make config-all´.
Makefile: optionally switch to a specific git branch

* mk/default.mk (GIT_BRANCH): New configuration variable to specify a
  Git branch that is checked out before updating.

* mk/targets.mk (up0 up1 up2): Check out the branch in GIT_BRANCH
  before doing an update.  Stays on the current branch if GIT_BRANCH
  is undefined or empty.
ob-clojure.el (org-babel-execute:clojure): Don't pretty print results

* ob-clojure.el (org-babel-execute:clojure): Don't pretty
print results.

Thanks to Daniel Szmulewicz for reporting this.
Delete :grouptags from tags list when creating org-mobile index file

* org-mobile.el (org-mobile-create-index-file): delete :grouptags
  entries from tags list when creating the org-mobile index file.

Reported by Dror Atariah - see

    http://thread.gmane.org/gmane.emacs.orgmode/79803

and (the continuation of the above thread)

    http://thread.gmane.org/gmane.emacs.orgmode/79856
org.texi: Add html related publishing options

* doc/org.texi (HTML doctypes): Fix display.
(Publishing options): Add missing html publishing options.
Merge branch 'maint'
org.texi: Fix some whitespace errors

* doc/org.texi (HTML doctypes): Fix whitespace error.
Merge branch 'maint'
org.texi: Document `org' back-end

* doc/org.texi (Org export): New section.
* lisp/ox-org.el: Remove initial code comments since this is now in
  manual.
Merge branch 'maint'

Conflicts:
	doc/org.texi