Add VC10 build, and fix or workaround a few build errors:
- no support for for range syntax in VC10 (they missed the C++11 deadline!)
- using the heavy and ambiguous pow where a bit shift does the job