Add a keyword? function to detect keywords.

Thanks to algernon for the function body; huge improvement.
Changed conf.py to use RTD theme if available
Raise exceptions when no handlers are provided.

Also small DRYing in try handling.

Previously, writing a bare (try (foo)) would invoke Pokemon
exception catching (gotta catch 'em all) instead of the correct
behavior, which is to raise the exception if no handler is provided.

Note that this is a cute feature of Hy, as a `try` with no `except`
is a syntax error.  We avoid the syntax error here because we don't
use Python's compiler, which is the only thing that can throw
Syntax Errors.  :D

Fixes #555.
merge #547 - keyword?
Fixing setv semantics so that it doesn't create variables with '.' in their names; resolves #577
Testing that module monkeypatching is works
Adding @xcthulhu to AUTHORS
Merging...