Built-in types are no longer keywords.

There is no real reason they have to be keywords. They just need to be
treated specially in the type checker.
Remove the alias keyword.
Remove the with keyword.

The idea was to use it to create new, altered instances of immutable
instances but on second thought that probably won't be very useful
in systems land.
Remove the void keyword.

It wouldn't work very intuitively with the way let bindings look
syntactically, e.g.:

let {x, y} = void; // ???
Remove new/delete keywords.

These operators are not going to be particularly useful since we're
going for a Rust-like type system where the pointer type determines
lifetime and storage.
Remove some likely-never-going-to-be-used reserved keywords.
Make tail a proper keyword.
Realign the keyword list.