test for msvc and set debug highest useful warnings level

I set -W4 and -Wp64, per Jean-Damien's advice. 

The list of possible data loss and other hopefully useful warnings is at https://gist.github.com/rns/8406901