Correctly export use/1

We declare use/1 as an operator.  One must wrap an operator in
parenthesis to get the atom itself.

I don't think this caused any problems outside PceEmacs highlighting.
Move xfy_list/3 definition upward

I want term_expansion/2 clauses to be at the very bottom of our file.
Add cleanup/1 macro

See #3
Support multiple cleanup/1 goals per clause

See #3
Hide otherwise/0 from the tracer

We don't want to trace inside this goal any more than we want do trace
inside true/0.  It should behave as if it's a built in.
cleanup/1 mirrors semantics of call_cleanup/2

I realized that I didn't want the fuller semantics of
setup_call_cleanup/3 which implies once/1 and blocking some
interruptions.  If one wants those semantics, he must call
setup_call_cleanup/3 directly.

I moved this direction because it's impossible to know which goals
preceeding cleanup/1 are meant for setup and which are not.  If a goal
before cleanup/1 leaves choicepoints, I don't want a newly inserted
cleanup/1 to trim those choicepoints accidentally.  It looks like the
user just added a cleanup so the semantics should only change by
executing a cleanup.

Although the documentation for call_cleanup/2 recommends using
setup_call_cleanup/3 instead, that's not possible in this scenario.  In
nearly all practical applications, the distinction seems unimportant.

Closes #3
cleanup/1 trims choicepoints and ignores failures

Make the semantics clear.  It behaves exactly like call_cleanup/2 to
which it desugars.
Point to setup_call_cleanup/3 in docs
Release v0.1.0