Improve address parsing error handling

We weren't being consistent with our error checking of user input for
addresses. This commit changes all of them to set errno to 0 and then
check the value of errno after, along with showing strerror output on an
error.