Enable -Wextra and other warnings, treat warnings as errors, resolve issues