NAT-PMP cleanups

 * Be tolerant of stale responses when processing mapping replies.
 * Handle converting the result code to an error at the packet decode
   stage.