Don't ICE when dealing with the count expr for fixed array types in various places.

The fact that `TyFixedLengthVec` contains an `Expr` seems to have been overlooked in a couple of places causes ICE's to pop up (especially obvious in `pretty=typed`)

Previously this would also ICE:
```
let _x: [u16, ..four!()];
```

where `four!()` just expanded to the literal `4` since we never consider that expression when expanded macros.

Fixes #15801 (in that it no longer ICE's and just outputs an error instead)
Fixes #4264 

r? @jbclements re the macro expansion changes
r? @pcwalton re typeck changes