Clean up FileNameOptionStorage implementation

Get rid of a separate registry, and instead use a static array that
maps OptionFileType to filenm.h types.  FileTypeHandler can now be
created directly with relatively small cost (no memory allocation),
and provide wrappers for the functionality in filenm.h.

Also, use an enum value from filenm.h as the internal type of
FileNameOptionStorage, as the option is not going to get decoupled from
those defines any time soon.  Rename some related variables for clarity.

Change-Id: I8f090c3098adb1f3d48788021f3715bb51a6b80a