org-element: Do not expand file name when parsing links

* lisp/org-element.el (org-element-link-parser): Do not expand file
  name when parsing links so that Tramp doesn't kick in.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87696
org-element: Properly parse headline properties

* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser): First find appropriate property
  drawer in order to read properties.

* testing/lisp/test-org-element.el (test-org-element/headline-properties):
  Add tests.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87701
ox: Small refactoring

* lisp/ox.el (org-export-get-category): Refactor code.
ox-koma-letter.el (koma-letter): Use `org-koma-letter-from-address'

* ox-koma-letter.el (koma-letter): Use
`org-koma-letter-from-address'.

TINYCHANGE
Merge branch 'maint'

Conflicts:
	contrib/lisp/ox-koma-letter.el
ox-koma-letter: Small fix

* contrib/lisp/ox-koma-letter.el (koma-letter): Do not set a default
  value for "from address".

That address is computed later (see special headlines).
org-element: Tiny refactoring

* lisp/org-element.el (org-element--cache-sync): Do not check return
  value from `org-element--cache-process-request'.
(org-element--cache-process-request): Throw `interrupt' when the
request cannot be processed.
(org-element--cache-process-request): Do not catch interruption from
  `org-element--parse-to'.
(org-element--parse-to): Throw `interrupt' when the process stops
before finding the result.
org-element: Extend format for cache sync requests

* lisp/org-element.el (org-element--cache-sync-requests): Also store
  beginning position for buffer modifications.
(org-element--cache-sync, org-element--cache-process-request)
(org-element--cache-submit-request): Adapt to new request template.

This change is required for a future cache optimization.
org-element: Sync cache after changes instead of before them

* lisp/org-element.el (org-element--cache-sync,
  org-element--cache-process-request): Change signature.
(org-element--cache-before-change): Do not synchronize cache
preemptively.
(org-element--cache-submit-request): Synchronize cache preemptively.

This change makes possible to skip cache preemptive synchronization
under some circumstances.
org-element: Optimize cache

* lisp/org-element.el (org-element--cache-for-removal): New function.
(org-element--cache-submit-request): Do not synchronize cache when
changes can be merged with next request.

This shortcut is particularly useful when many changes happen in the
same area, which is expensive to parse (e.g., a large list).
org-element: Tweak cache parameters

* lisp/org-element.el (org-element-cache-sync-idle-time,
  org-element-cache-sync-break): Increase values as synchronizing
  cache too makes editing somewhat sluggish without any benefit.
org.el: Delete `org-fix-ellipsis-at-bol'

* org.el (org-fix-ellipsis-at-bol): Delete.
(org-mode, org-show-context, org-isearch-end): Don't use
`org-fix-ellipsis-at-bol'.
Merge branch 'maint'

Conflicts:
	lisp/org.el
org-mtags: remove

* contrib/lisp/org-mtags.el: Delete file.
* lisp/org.el (org-structure-template-alist): Remove <foo>-style tags.
(org-complete-expand-structure-template): Don't handle <foo>-style tags.
Remove another vestige of org-mtags

* lisp/org-src.el (org-edit-src-find-region-and-lang): Remove old
<foo>-style tags.

This completes commit 94939bd
contrib/lisp/ox-extra.el: new file
contrib/lisp/ox-extra.el: fix typos/thinkos
org.el: insert missing quote
lisp/ox-latex.el (org-latex-logfiles-extensions): add more extensions

* lisp/ox-latex.el (org-latex-logfiles-extensions): Add several more
file extensions.

- biber: bcf, blg, run.xml
- tikz externalize: figlist
- xelatex -no-pdf: xdv
org: correct package-version for org-structure-template-alist

* lisp/org.el (org-structure-template-alist): Package version should
  be a symbol name, not a string.

Fixes ce41c076c0.