Run semantic on memberless enum memtype

If enum has no members but still has a base type, eg
enum X : BaseType;
we still need to run semantic on the memtype BaseType.
Fix bug 9921: Disallow void enums. Fix enum.max for errors

If the base type isn't valid, don't calculate enum.max
Merge pull request #1907 from donc/voidenum9921

9921: Enum variables of type void should be illegal
+1
+2 (compile)
+3 (ufcs.d)
+clean
+x regression fix
+y Phobos segfault
+runnable, fail_compilation
-diag5385.d, delegate.d
+revmsg1
+2