Tooling to track code-style/best-practices violations

From the list of best practices defined in legacy/trac#29219 (moved), when we can write tooling to do so, we should write tooling to find and measure violations of these practices

Some of these measures (function length, file length, layer violations via includes) already have code for them; others will be harder. We should probably aim for the lower hanging fruit here.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information