combine errorcodes, reduce code duplication

thoughts?

I really tried to use a char***, as in
`static const char ***names = &nu_error_names;`
but it wouldn't compile.