CPS transformer: Extract the variable hoisting

Move the variable hoisting out of CPSTransformer into its own transformer. Then let the CPSTransformer hook into that for its machine generated variables.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/817

Closes #817.