ACL2 Sedan changes (Cgen and Defdata)

These contains all the changes made for the recent ACL2s release 1.1.6.0  for ACL2 6.5.

It contains numerous improvements to Cgen. In particular Cgen has been refactored to be used as an API. 

It contains a complete rewrite of defdata as a framework. In particular it adds significant type reasoning support via TAU characterization theorems and polymorphic signatures (:Doc sig).