Fix a typo in the main CMakeList
Make formatter widths unsigned
Replace auto type commitment with explicit typing

GCC, as of 4.8.2, does not support the "auto x = type{}" syntax for
stream types as they do not provide public move or copy constructors.
To maintain consistency, all such initializations have been replaced
with "type x{}" throughout the codebase.
Replace aggregate-copy braces with parentheses

Rename constructor parameters to match the associated members
Rename usage::include_usage to usage::prefix

GCC, as of 4.8.2, does not support {}-style copy construction of
aggregate types.