org-element: Split citations and citation-references objects
* lisp/org-element.el (org-element-all-objects): Introduce
`citation-reference' object type.
(org-element-recursive-objects): `citation' is now a recursive object
type.
(org-element-object-restrictions): Set restrictions for `citation' and
`citation-reference'.
(org-element-secondary-value-alist): Introduce new object type.
(org-element-citation-parser, org-element-citation-interpreter):
Update functions.
(org-element-citation-reference-parser,
org-element-citation-reference-interpreter): new functions.
(org-element--object-lex): Update function.
* testing/lisp/test-org-element.el (test-org-element/citation-parser,
test-org-element/citation-interpreter): Update tests.
(test-org-element/citation-reference-parser): New tests.