Simplify language of the sizes parsing algo.

Rewrite the sizes parsing algo into a more readable form, without losing any precision.

Currently the branch contains two alternate algorithms, one more prose-y, one more algo-y.  We need to choose which one we prefer before this can be merged.