Add snippet for PlDoc comments

PlDoc comments follow a specific format.  Make a snippet for quickly
creating the necessary boilerplate.
Support additional string formats

Prolog supports double quoted strings, backtick quoted strings and
atoms (behave like unquoted strings).
Treat DCG arrows like predicate necks

The predicate neck, :-, is correctly identified as an operator.  The DCG
arrow, -->, should be treated the same way.
Recognize singleton variables as variables

A variable named _Foo is just as valid as one named Foo.  Support them
both.  This requires that we distinguish void ("joker").
Treat once/1 as a control call predicate

Both are meta predicates which call their arguments as goals.