Support prefix unary operators.

This adds support for them in general, but also specifically
implements unary negation on numbers.
Update the function docs to explain implicit params.
Start updating docs to latest language changes.
Update pygments lexer to latest syntax:

- Handle nested block comments.
- Use current set of reserved words.
- Make true/false/nothing reserved words (since the parser
  handles them specially in literal patterns).
- Add characters and floats.
Tweak docs a bit.