handle GitHub issues without a milestone

The previous version only handled GitHub issues
 - either with a milestone having a deadline (try clause)
 - or with a milestione without a deadline (except KeyError clause)

This commit handles the case when there's no milestone set at all, and a
TypeError is raised upon subscripting the invalid issue['milestone']
with the value 'due_on'.
handle socket errors in Redmine module
use content attribute of response instead of raw access