Renaming and refactoring `spec_or_default`.

`spec_or_default` is now `specified_or_default` and `specified_or_zero` was
added to handle the most common case.
Brace multi-line match patterns per coding style.
Rename `cb_width` to `containing_width`.
Rename variables for clarity.