fix #1392 corrupted status xml

when detecting corrupted deployment status xml (either file not exists, invalid xml, missing property), we will handle and return null.  BTW this is safe since caller already expecting null.  

In addition we also cleanup this specific deployment id directory.
Is this whole if statement even needed? Without it, the OpenRead below will fail, and you'll end up doing the same clean up.