Added MachineSchedPolicy.

Allow subtargets to customize the generic scheduling strategy.
This is convenient for targets that don't need to add new heuristics
by specializing the strategy.
mi-sched: Reorder Cyclicpath (latency) and CriticalMax (pressure) heuristics.

The latency based scheduling could induce spills in some cases.
mi-sched: register pressure update tracing.
mi-sched: print tree size in -view-misched-dags
mi-sched: improve regpressure tracing.
mi-sched: cleanup register pressure update, remove a FIXME.