Rework how expressions are scored.

This moves away from tuned split costs to unit-cost spans.
Those compose better, which yields better results in nested expressions.
Some of the existing tests get changed because the old output is better now.

Fixes #6. Fixes #19. Fixes #25. Fixes #28. Fixes #55. Fixes #81. Fixes #91. Fixes #95. Fixes #98. (!)

R=pquitslund@google.com, sigmund@google.com

Review URL: https://chromiumcodereview.appspot.com//824693005