Make test/Driver/clang_f_opts.c not write to the test dir

After r195009, the test would write a .o file to the test dir. Send that to
/dev/null instead. Also fix the typo in test/Frontend/invalid-o-level.c.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195047 91177308-0d34-0410-b5e6-96231b3b80d8
Remove period at end of "optimization level is unsupported" diagnostic

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195048 91177308-0d34-0410-b5e6-96231b3b80d8
The attached patch is a follow up from my previous one. The existing
logic was not handling typedefs as free functions. This was not
causing problems with the existing tests, but does with the microsoft
abi where they have to get a different calling convention.

I will try to refactor this into a method on Declarator in a second.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195050 91177308-0d34-0410-b5e6-96231b3b80d8