Validate the generated C++ code in llvmc tests.
Validate the generated C++ code in llvmc tests.

Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:

- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional

git-svn-id: a4a6f32337ebd29ad4763b423022f00f68d1c7b7@91404 91177308-0d34-0410-b5e6-96231b3b80d8

lodyagin/bare_cxx,lodyagin/bare_cxx,lodyagin/bare_cxx,lodyagin/bare_cxx,lodyagin/bare_cxx