Set up continuous integration
Add the required configuration files in order to get a basic continuous integration pipeline going. It will test-build with warnings treated as errors, run unit tests and run Dialyzer.
Also, this PR fixes a few small issues with the codebase that prevented the newly-introduced CI pipeline from succeeding.