Do hyphen substitution on entire option name

Currently, we only replace/replace hyphens in the option name (suffix).
Normalize the rest as (which can be set by OPT_PREFIX) as well.

Add a unittest to verify the functionality

Fixes #87