fix whatever currying for chain ops

When a WhateverCode gets created from a chain op, it'll be annotated
with its original arguments and when a WhateverCode with a chain op ends
up calling a WhateverCode that also had a chain in it, it will "flatten
out" the arguments of that WhateverCode, creating a proper chain.
fix remaining problems with whatever_curry and chain ops
Merge branch 'chained_whatevercode' into nom

This fixes WhateverCode generation when chain ops are involved.