Avoid ImportError when GeoIP is missing

Adjust the import of GeoIP to first check whether it is available.  It
wasn't on my Mac and so I was getting an ImportError.

I'm not 100% sure this is the right way of handling this.
Handle no point returned from GeoIP

For some IP addresses (such as 192.168.*), the GeoIP object returns
None.  We need to check for this to avoid an AttributeError.
Merge branch 'geoip-missing'