Refactor yas-good-grace error handling

* yasnippet.el
(yas--handle-error): New function.
(yas--eval-lisp-no-saves, yas--eval-lisp): Use it.
Don't lose error message when yas-good-grace is t

* yasnippet.el
  (yas--eval-lisp-no-saves): Pass error message to message function.
  (yas--handle-error): Pass "%s" to error to avoid accidentally
  interpreting % in the error message as format codes.
Remove type, expand-env from new snippet value

They are seldom used, and can cause errors if left in.

* yasnippet.el (yas-new-snippet-default): Remove type and expand-env
  directives.
Restore backquotes lost in rst -> org translation

* doc/snippet-development.org: Re-add lost `s.
Document uuid directive

* doc/snippet-development.org: Mention uuid in directive list.
* yasnippet.el (yas-define-snippets): Fix docstring grammar.
Document type directive

* doc/snippet-development.org: Add type to directive list.
Fix publishing with org 7.9

* doc/yas-doc-helper.el: Only use org-html-publish-to-html when it's
  fbound.
Closes #474: fix more cc-mode font-lock conflicts

* yasnippet-tests.el (example-for-issue-474): Don't call insert from
  within backquotes, it's redundant and prevents proper testing of
  backquote expansion.

* yasnippet.el (yas--restore-backquotes, yas--save-backquotes): Ensure
  the buffer isn't narrowed while modifying it to avoid conflicting with
  cc-mode fontification.
Replace text -> yas-text in documentation

* doc/snippet-development.org: replace text -> yas-text
Make snippets submodule track master, update it

This should let us update the submodule just by running
    git submodule update --remote
rather than having to cd into it, and then pull.
Allow jit loading interactively

* yasnippet.el (yas-reload-all, yas-load-directory): let a prefix
  argument indicate jit loading.
Merge pull request #493 from npostavs/ijit

Allow jit loading interactively
Closes #492, closes #494: Consider defalias when calculating parent modes

* yasnippet-tests.el (issue-492-and-494): New test.

* yasnippet.el (yas--modes-to-activate): Consider each mode's
symbol-function as a neighbour in case it's a symbol as well.
Closes #497: Allow functions as elements in yas-key-syntaxes

* yasnippet.el (yas--templates-for-key-at-point): Renamed from
`yas--current-key'.
(yas-key-syntaxes): Overhaul documentation.
(yas-expand-from-trigger-key): Use
`yas--templates-for-key-at-point'.

* yasnippet-tests.el (complicated-yas-key-syntaxes): New test.
(yas-should-expand, yas-should-not-expand): Friendlier failure
message.
* yasnippet.el (yas-key-syntaxes): Improve documentation.
Closes #470, handle non-whitespace newlines

Many modes put newlines in comment ender class because they have line
comments.

* yasnippet.el (yas-try-key-from-whitespace): new function.
(yas-key-syntaxes): use it in place of "^ ".
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
Add yas-shortest-key-until-whitespace

Example yas-key-syntaxes function.

* yasnippet.el (yas-shortest-key-until-whitespace): new function.
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
Pass start point to yas-key-syntaxes functions

* yasnippet-tests.el (complicated-yas-key-syntaxes): accept argument.
* yasnippet.el (yas-try-key-from-whitespace): accept argument.
  (yas-shortest-key-until-whitespace): accept argument.
  (yas--templates-for-key-at-point): pass start point the methods.
  (yas-key-syntaxes): update docstring.
Add yas-longest-key-from-whitespace

Example yas-key-syntaxes function.

* yasnippet.el (yas-longest-key-from-whitespace): new function.
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
Fix yas-key-syntaxes example functions docstrings.

* yasnippet.el (yas-try-key-from-whitespace),
  (yas-shortest-key-until-whitespace),
  (yas-longest-key-from-whitespace): docstring describes the effect, not
  implementation.