Introduce VAddr and PAddr typedefs for ARM addresses.

This is more of a request for comments than an RFC 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.
Something that jumped at me: Is there any reason why this returns the value by reference?