Enable lots of warnings, and fix the things that they warn about.

Notably, this removes
  o  two implicit uses of self inside blocks in DNSQuery;
  o  a suspicious conversion of a unichar to unsigned char
     inside stringByURLEscaping.