Misc Fixes

The last commit fixes the case that some c headers do stuff like

```c
typedef uint8 bool;
```

which gets translated as

```rust
pub type bool = uint8;
```

This looks ok, but apparently it's not possible to shadow existing types like this, so `let foo: bool = 8;` doesn't compile.