glsl: add a pass to convert out of SSA form

Right now we are being basically as naive as possible, and inserting
more copies than necessary. It is possible to implement a more
sophisticated algorithm later, although extending the current copy
propagation pass to support loops better and/or relying on backends to
do copy propagation may make this unecessary.

v2:
-fix potentially confusing comment (Paul)
-don't manually walk through function signatures (Paul)

Reviewed-by: Paul Berry <stereotype441@gmail.com>
glsl: convert to and from SSA form in the compiler

This patch is mainly for allowing me to test these changes with piglit.
In the future, a do_ssa_optimizations() function will need to be
created and used by this code, as well as all other users of
do_common_optimizations().

Reviewed-by: Paul Berry <stereotype441@gmail.com>