org.el: Disable {pro,de}motion commands in orgstruct-mode if orgstruct-heading-prefix-regexp is non-nil

* org.el (orgstruct-heading-prefix-regexp): Change default
value to nil.
(orgstruct-error): Use user-error if available.
(orgstruct-setup): Disable bindings of {pro,de}motion commands
if orgstruct-heading-prefix-regexp is non-nil.  Always use
org-outline-level.
(orgstruct-make-binding): New argument
DISABLE-WHEN-HEADING-PREFIX.
contrib/lisp/*el: Fix license information and add "This file is not part..."

Also do some aesthetic code clean-up in org-drill.el.
lisp/ox-texinfo.el: Fix export of source blocks

* lisp/ox-texinfo.el (org-texinfo-src-block): Escape texinfo commands
  within source blocks to ensure proper export.  `@ { }' all need to
  be escaped to ensure proper formatting when processing to info.
lisp/ox-texinfo.el: Fix parsing of list entries without content

* lisp/ox-texinfo.el (org-texinfo-item): Check for contents before
  trimming whitespace from it.
don't read sqlite output as lisp

Thanks to Michael Gauland for pointing out this bug.

* lisp/ob-sqlite.el (org-babel-sqlite-table-or-scalar): Don't read
  sqlite output as lisp.
ox: Simplify syntax for attributes

* lisp/ox.el (org-export-read-attribute): Do not use `read' to read
  attributes.  Instead, extract keywords and values from it, which
  means each value will be a string when non-nil.
* contrib/lisp/ox-groff.el (org-groff-link--inline-image): Use new
  attribute syntax.  Small refactoring.
* lisp/ox-ascii.el (org-ascii-horizontal-rule): Use new attribute
  syntax.
* lisp/ox-beamer.el (org-beamer-plain-list): Use new attribute syntax.
* lisp/ox-html.el (org-html--textarea-block): Use new attribute
  syntax.
* lisp/ox-latex.el (org-latex--inline-image, org-latex--org-table,
  org-latex--math-table): Use new attribute syntax.
* lisp/ox-man.el (org-man-table--org-table): Use new attribute syntax.
  Small refactoring.
* lisp/ox-odt.el (org-odt-link--inline-image, org-odt-table-cell): Use
  new attribute syntax.
* testing/lisp/test-ox.el: Add tests.

This patch introduces two changes.  To begin with, it removes the need
for quoting and escaping characters.  Also, all non-nil values are
stored as strings.  As an exception "nil" is stored as nil.
ox-texinfo: Fix small bug

* lisp/ox-texinfo.el (org-texinfo-plain-list): Use `member' instead of
  `memq' when matching strings.
contrib/lisp/org-contacts.el: Remove calls to cl functions

* contrib/lisp/org-contacts.el(org-contacts-test-completion-prefix)
(org-contacts-complete-name, org-contacts-db-need-update-p)
(org-contacts-filter): Remove calls to cl functions.
contrib/lisp/org-contacts.el: Silence byte-compiler
org-mew.el (org-mew-folder-name): Take Mew's "case" feature into account

* org-mew.el (org-mew-folder-name): Take Mew's "case" feature into
account.
org-agenda.el (org-sorting-choice): Fix default value

* org-agenda.el (org-sorting-choice): Fix default value.