refactor and remove GlobalSettings.kem

**please review**
basically warnings still need to be recorded because unlike errors, they don't stop the compilation process, so they can't be handled on the catch-side.