Ensure error names are always valid camel-cased identifiers

Currently errors like `"I'm a teapot"` generate wonky names (in this case: `I'mateapot` instead of `ImATeapot`). This fix ensures that any name `statuses` throws at us is converted to a consistent camel-cased form.