Add hard mode

This PR adds a "Hard mode" to be used in CI and (maybe) hooks.
Hard mode currently activates Werror, causing the compiler to abort compilation upon compiler warnings. Unused functions and arguments are excluded.
Fixed.