patch for generalizing stdint for n-bit bytes

Hello ClangWorld,

This is a resend since my original message was too large and got filtered from the list. Sorry about that;

The linked patch is the work of Ken Dyck which I merget to work with the top of the tree (R84372). This patch generalizes some of the defines produced by the preprocessor in preparation for future patches to support of n-bit bytes.

Some other highlights include the addition of 40 new test cases that help better validate the preprocessor and target defines. It also gets rid of std::vector<char> in favor of llvm::raw_ostream to create defines.

My hope is that someone with commit authority can look these changes and shepherd them in or provide feedback for any additional mods/work that is required for them to be accepted.

A copy of the actual .patch file is here: http://files.me.com/rayfix/p7ouap (Size: 169 kB)

Here is the same thing but rendered in html. http://files.me.com/rayfix/5qummg (Size: 300 kB)

Thanks as always,

Ray