Fix #825: ParamDefs of tailrec methods should be mutable.

Considering them as immutable was fine for the purposes of JSDesugaring, but not for the inliner, causing subtle bugs.

This PR replaces #828.
There is no such thing as a `MethodDef` in a `MethodDef` (if we have that, we have bigger problems than a wrong usage of that variable). Since this instance of the transformer applies to one `MethodDef`, and this set is valid for one `MethodDef`, I really don't see the point of a scoped-var-like construct: it'll just have one scope, equal to the life-time of the instance of the transformer. Guess what's a variable that has the same life-time as an object? It's called a field of that object.