This eliminates the problem where the compiler complains we are not handling all enumeration values by moving the "hack" counting member into somewhere else external to the enum.
Single-player difficulty selection was implemented in a very hacky way.
Documents what's going on there and fixes a memory leak.
Memory leaks that this fixes looked like this:
```
Direct leak of 64 byte(s) in 1 object(s) allocated from:
#0 0x7f435b789f17 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.6+0xb1f17)
#1 0x5567766c62b8 in dvl::selgame_GameSelection_Select(int) ../SourceX/DiabloUI/selgame.cpp:163
#2 0x5567766d8ee8 in dvl::selhero_Load_Select(int) ../SourceX/DiabloUI/selhero.cpp:464
#3 0x5567766d6ed1 in dvl::selhero_List_Select(int) ../SourceX/DiabloUI/selhero.cpp:325
#4 0x556776692683 in dvl::UiFocusNavigationSelect() ../SourceX/DiabloUI/diabloui.cpp:396
#5 0x55677669158e in HandleMenuAction ../SourceX/DiabloUI/diabloui.cpp:223
#6 0x5567766917b9 in dvl::UiFocusNavigation(SDL_Event*) ../SourceX/DiabloUI/diabloui.cpp:277
#7 0x556776695dff in dvl::UiPollAndRender() ../SourceX/DiabloUI/diabloui.cpp:626
#8 0x5567766d94ef in UiSelHeroDialog ../SourceX/DiabloUI/selhero.cpp:512
#9 0x5567766d997f in dvl::UiSelHeroSingDialog(int (*)(int (*)(dvl::_uiheroinfo*)), int (*)(dvl::_uiheroinfo*), int (*)(dvl::_uiheroinfo*), void (*)(unsigned int, dvl::_uidefaultstats*), int*, char (*) [16], int*) ../SourceX/DiabloUI/selhero.cpp:547
#10 0x556776a44f45 in mainmenu_select_hero_dialog ../Source/mainmenu.cpp:98
#11 0x5567765f9f15 in SNetInitializeProvider ../SourceX/storm/storm_net.cpp:102
#12 0x556776c996b9 in multi_init_single ../Source/multi.cpp:826
#13 0x556776c98b1e in NetInit ../Source/multi.cpp:770
#14 0x5567767d0c0b in StartGame ../Source/diablo.cpp:375
#15 0x556776a4493d in mainmenu_init_menu ../Source/mainmenu.cpp:45
#16 0x556776a44c05 in mainmenu_single_player ../Source/mainmenu.cpp:61
#17 0x556776a454a9 in mainmenu_loop ../Source/mainmenu.cpp:152
#18 0x5567767d2892 in DiabloMain ../Source/diablo.cpp:602
#19 0x5567766e3c69 in main ../SourceX/main.cpp:34
#20 0x7f435a69ecb1 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28cb1)
```