org-element: Fix parsing path starting with ~

* lisp/org-element.el (org-element-link-parser): Do not prepend "//"
  to paths starting with "~".

Since b1dcd0fb0bec6b523c900bc1304fbe834c21697d, link parser doesn't
expand file names anymore. We need to prevent it from "fixing" paths
starting with "~", as it can cause trouble to some
exporters (e.g. latex).
org-element: Fix cache corruption when altering a drawer

* lisp/org-element.el (org-element--cache-submit-request): Correctly
  update cache when changes alter the contents of a greater
  element (e.g. a property drawer).

Thanks to Alan Schmitt for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88086
org-element: Fix inlinetask parsing

* lisp/org-element.el (org-element-inlinetask-parser): Do not infloop
  when parsing property drawer in an inlinetask.

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

Thanks to Aaron Ecay for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88133
org-element: Tiny fix

* lisp/org-element.el (org-element-headline-parser): Do not assume
  property drawers are correctly formed.
org-element: Small fix

* lisp/org-element.el (org-element--cache-submit-request): Fix off by
  one error when updating cache.  Changes happening at the beginning
  to the previous ones, which are always located at the beginning of
  an element, imply to delete previous element.  Also do not call
  `org-element--cache-sync' if there's nothing to synchronize.
ORG-NEWS: document user-visible changes

* etc/ORG-NEWS: Introduce Section for the pending 8.3 release and
  document user visible changes.
org-element: Do not trust a stored request after cache sync

* lisp/org-element.el (org-element--cache-submit-request): Do not
  trust a stored request after calling `org-element--cache-sync' since
  it may as well not exist anymore (i.e., the synchronization was
  complete).
org-element: Simplify request processing

* lisp/org-element.el (org-element--cache-process-request): Do not try
  to find orphans for now.  Remove useless comments.  Refactor code.
org-element: Better threshold computation during synchronization

* lisp/org-element.el (org-element--cache-process-request): Threshold
  is based off beginning of the first element to shift instead of the
  end of the changes.
org-element: Tiny refactoring

* lisp/org-element.el (org-element--cache-submit-request): Tiny
  refactoring.
org-element: Improve sychronization request submission

* lisp/org-element.el (org-element--cache-submit-request): Store
  parent of first element to delete, if any.  This saves a call to
  `org-element--cache-find' in a very common use case.
(org-element--cache-sync-requests): Update docstring accordingly.
org-element: Fix bug in sync request submission

* lisp/org-element.el (org-element--cache-submit-request): Do not
  modify ending position twice.
org-element: Fix corner case

* lisp/org-element.el (org-element--cache-for-removal): Fix corner
  case when changes happen in a robust element (e.g., a center block)
  within a fragile element (e.g., a plain list).  Do not assume that
  all parents from a robust element are also robust.