Process rest params before default params to fix arity issues.

Closes #18.

Default params are not supposed to count toward the arity (length) of a function, so we remove them. Unfortunately that throws off the index of the rest params. We fix this by processing rest params first, then default params.
v0.8.2