Pointer alignement verification

Hi James,

This pull request is INCOMPLETE, so please don't merge yet :)

I've created it so you can see what I changed; the current "warning" reporting system is very sub-optimal (I simply write to cerr). I'm sure you will want to suggest an alternative.

I plan on adding the same pointer verification in memory loads/stores.
Pointer-to-pointer casts will probably generate too much noise (false positives) because they would be required for calling the vload builtin. Actually, come to think of it, I could just verify that the casted pointer is used in such a call... hmm...

Let me know what you think.
Pedro