Add framework for recursive type checking.
Add pointer, map, and channel type checking.
Report multiple errors when possible.
Merge pull request #57 from velour/check_types

Start checking some types and deal with recursive types.