Remove UnsupportedType and forbid calls to main.

The rules of MiniJava seems to forbid explicit calls to main. To
enforce this we

  - keep a reference to the main method in SymbolTable to be able
    to identify it, and
  - check if the called method is the main method during type-
    checking.

Also, since the String[] parameter should be inaccessible to code
inside the main method, we can simply avoid adding any parameter
at all to the main method.

These two things allows us to get rid of the awkward "unsupported"
type we used for "void" and "String[]" completely.