Added types from the commit validation script to CONTRIBUTING. Added
packages names from the package script to the scope section. Added
examples of good commit messages.
Also corrected some texts.
This should clean up the code a bit.
Note: at first I added the no-useless-cast rule, but after getting frustrated
with it (as it has many false positive), I decided to remove the rule but some
useless casts were removed so I let those in the PR.