Implement a simple type language
Summary:
Depends on D6794. Ref T2039. This implements a simple type language so we can typecheck things (like Conduit method calls) easily. For T2039, I want to typecheck a JSON file without writing a zillion lines of custom parser code.
I codegenerated the parser since it takes around 125ms to build.
Test Plan: Ran unit tests.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2039
Differential Revision: https://secure.phabricator.com/D6795