Closes #62 (disallowing deriving from classes with finalizers) and #77 (finalizers are automatically picked up by the
language runtime). Re: the latter, the finalizer method is made private as well, at least preventing code from outside
the class from manually calling the finalizer (though it can still be called manually from inside the class).

Also made it an error to instantiate a constructor-less class with more than zero parameters, for consistency with the
way function calls work.