Introduce VAddr and PAddr typedefs for ARM addresses.

This is more of a RFC than a PR proper. I think something like this would be interesting to have to clearly distinguish the addressing spaces (which are ambiguous in some functions.) Right now the entire code just uses u32 for addresses, which makes it non-obvious when something's supposed to be an address or not. I'm not enamored with the names, but would like to know if people think this is a worthwhile idea.
Btw, you removed `const` here, but left it elsewhere. Why not remove it everywhere with `VAddr`/`PAddr`? (since it doesn't do anything anyway with these data types)