distinguish char, signed char, and unsigned char

Foreign.C.Types has two flavors of int, but three flavors of char.
Tests fail, because we handle signed chars wrong.
comment out all long long examples

I also changed the expected output to LLong instead of Long.
pointer tests were wrong

The output type for foo* was CFoo instead of Ptr Foo.
All those tests now fail.
globalarray instead of globalvar

Tests fail, because naked arrays were incorrectly marked as globalarray.
Fix "signed char" test failure

it was the test which was wrong.
Merge pull request #20 from gelisam/master

fix many tests