Adds function calling.
Adds check for functions existing.
Adds put and str for IO.
Refactoring: adds several context case classes.
Adds main method generation for exprs not enclosed in some fun.