Look through ticks on arguments when doing eta-reduction

Doesn't seem to matter too much for the final result, but this makes the
transformations happen sooner.
Common sub-expression elimination ignores ticks

This is slightly awkward - this pass definitely reduces tick accuracy.
Here we push the ticks to the referencing expression instead, which is
probably not too helpful for real-world tasks, but the only morally
right thing to do.