use deriving Show instead of sexplib for printing
record function parameters as ids during parsing

This fixes an error where Foo in

  typedef int Foo;
  int bar (int Foo) {
    return Foo
           ^^^

would be parsed as typedef name.
naming conventions

NoType => EmptyType
NoDecl => EmptyDecl
Nop => EmptyStmt
remove open Fcc from driver