Fixes to specialize_branched_loops. It correctly mutates loops for the most parts right now.
Fixed a bug I introduced in simplify. Removed a bunch of debugging comments from SpecializeBranchedLoops.
Fixed a minor type correctness bug in LinearSolve.
Fixed an issue in specialize_branched_loops when the branching condition requires 2 loop variables.
Fixed a problem in specialize_branched_loops that was dropping some let bound variables. Changed the mutator to not branch on min/max expr by default, unless the min/max is on a variable that has already been determined to have a branch.
Added specialization of select branches in the case that the values of the select are vectors, but the condition is scalar.