This extensive revision eliminates the 'code' type in TableGen. The purpose of this revision is to simplify TableGen and make all the string-manipulation bang operators available for code manipulation.
The 'code' keyword remains, as a synonym for 'string'. The [{...}] code brackets remain.
I updated the documentation. I found all the uses of the CodeInit value class in the backends and updated them to use StringInit instead. I updated tests.
I will get rid of this line.