When probing for a backend to use, do it in registration order.

This forces UPnP to be first over NAT-PMP because:
 * It is more likely to work with more devices.
 * It does not require platform specific code.
 * It supports listing and removing mappings.

Somewhat of a shame because the NAT-PMP protocol is better designed,
but there's buggy implementations of that on the router side in the
wild as well, so so much for that.