getlantern/lantern#1974 Added timeout to NAT-PMP logic

Closes getlantern/lantern#1974
The Timeout and Temporary functions are unnecessary - they implement the io.Error interface, which we don't need here.  I'll remove them.