Quick refactorings

- Changed representation of symbols to be more efficient
- Replaced manual calls to Symtable.find with find_type in
  semant.ml
- find_type returns the actual_type (i.e. going through the
  Name layers)