Append, partial, and (... . rest) support

The def macros didn't properly support using the . rest syntax for
taking bulk args.

I've also added append, and a very rough implementation of partial.