[virtio-serial] Fix guest failure to add port after resume from s3/s4 (bz#902150).

Rewrote the code which handles the port removal. The driver tried to delete
the port from the child list during suspend but the port still existed in the
list on resume (list's cleanup event was not called). This caused the
WdfDeviceCreate function to fail with a name collision error.