Don't attempt to generate a description for null external pointers

This fixes an issue caused by the way external pointer objects work in R. When an object containing an `EXTPTRSXP` is saved, the value of the external pointer is not saved. When that object is loaded, it comes back to life with a `null` external pointer, and if routines that access that pointer without checking it, crashes ensue.
I tested both XML and RProtoBuf and both are covered by your fix (XML objects _are_ external pointers are RProtoBuff uses S4). I'm going to merge -- I don't think we need to worry about running down other cases as if they exist they'll be reported by users over time.