Add parsing logic for class declarations

(This also introduces the EOF token)
{nit} move `else {` up one line?