Move stuff around a little.

... and get things building on OSX.
Extracting AST nodes.
Add analyzer stubs
Moving LLVM junk into the code generator.
Add node_kind
func_decl
Add decl_list and stmt_list
Use std::shared_ptr
Parsing func_decl