Guarantee unique temporary variable names.

Closes #11.
Closes #22.