Move the logic for determining the wchar_t type information into the
driver. Rather than passing the single bit of information of
-fshort-wchar indicate to the frontend the desired type of wchar_t
through a new -cc1 option of -fwchar-type and indicate the
signedness through -f{,no-}signed-wchar. This replicates the current
logic which was spread throughout Basic into the
RenderCharacterOptions.
Most of the changes to the tests are to ensure that the frontend uses
the correct type. Add a new test set under test/Driver/wchar_t.c to
ensure that we calculate the proper types for the various cases.
How is this better than what we had before? It's totally inconsistent with our existing strategy for figuring out type widths and sizes. Our current approach can be extended for new targets, this requires modifying shared TargetInfo code. This refactoring *should* be NFC anyway, so if we did want to do it, we'd want to split it out.