Add timeout to urlopen calls

Occasionally, a WxS server will be unresponsive, and can cause urlopen to hang. For example, wms.jpl.nasa.gov/wms.cgi?service=WFS&request=GetCapabilities&version=1.0.0 never returns (at least not this week!) The urlopen function can take a timeout parameter, so in almost every place where this is called, I added a timeout, which can be passed into the calling function, and defaults to 30 seconds.

The one place I did not make this change was in wfs200.py :: getpropertyvalue() because I could see no good way to pass a timeout to that function without breaking the signature for existing functions.

I am not positive this is the best solution, but it totally fixed the hanging issues I was experiencing.