Make normalize work for (nearly) all the things

Summary: Our normalize function handled the common case of "AbcDef.GhiJklMno" very well,
where we would end up with `abc_def.ghi_jkl_mno`.

But when it came to something like "SSLPort", we would end up with `sslport` instead
of `ssl_port` or "HHIRNumFreeRegs" would be `hhirnum_free_regs`

This diffs hopefully handles 99.9% of the cases now. We may want to make `-` into `_`
or something (e.g. "xdebug-not-done.enable"). That should be easy and can be done
separately.

Reviewed By: @ptarjan

Differential Revision: D1511106