Better error messages for fn/defn w/o arglists

When (fn) or (defn) does not get an arglist as first/second parameter,
emit a more descriptive error message, rather than an ugly traceback.

Fixes #716.

Reported-by: Joakim Tall
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Merge pull request #717 from algernon/f/defn-better-errors

Better error messages for fn/defn w/o arglists