Add commit linter to enforce angular commit message conventions

One multiple occasions now we have merged some code and neglected to publish a new version of the npm package due to the omission of angular style commit messages that semantic-release uses to automate the process.

We ought to use something like commitlint in our CI job to test enforce this. We also may want to disable squashing (if that is possible) so that we don't accidentally remove this commit metadata from the log.

/cc @ClemMakesApps WDYT?