Import urllib2 for easier HTTP error status handling

This fixes an issue where the HipChat API is down and returning 503
errors with the response body

  {"error":{"code":503,"type":"Service Unavailable","message":"API currently unavailable due to maintenance or high load."}}

The existing code is expecting only valid responses and we get this
stacktrace:

  [INFO] Fetching email->hipchat mapping from hipchat
  Traceback (most recent call last):
   File "jenkins-tools/deploy_pipeline.py", line 1159, in <module>
     caller_email=args.deployer_email)
   File "jenkins-tools/deploy_pipeline.py", line 939, in main
     props = _create_properties(*acquire_lock_args)
   File "jenkins-tools/deploy_pipeline.py", line 229, in _create_properties
     _email_to_hipchat_name(retval['DEPLOYER_EMAIL']))
   File "jenkins-tools/deploy_pipeline.py", line 96, in _email_to_hipchat_name
     for user in user_data['users']}
  KeyError: 'users'

urllib.urlopen happily loads non-200 status code responses, which is
great. In our usage here, though, we assume the response is successful.
urllib2.urlopen raises urllib2.URLError (subclass of IOError) instead.

Auditors: csilvers

Test Plan:

  $ python -c 'import deploy_pipeline;
  WARNING: unable to stat ka_secrets.py.cast5, skipping check. secrets.py may be out of date
  WARNING:root:Fetching email->hipchat mapping failed; will guess

  $ python -c 'import deploy_pipeline; print deploy_pipeline._current_gae_version()'
  WARNING: unable to stat ka_secrets.py.cast5, skipping check. secrets.py may be out of date
  1007-0934-4aed113b8df5