Lots More Warnings

Turned on Werror for warnings we are clean in.
Enabled Weverything in clang with a few exceptions.
Turned off Wunused-parameters