Check locator not already annulled in destructor.

Running git bisect determined that the error reported here:

https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1301&L=stardev&P=41197

first appeared in commit 41e5bd0df1ce1c0e278457345c8be71749aa7703
so it looks like it is related to annulling / destruction of
HDS locators.

In this commit the destructor checks that the pointer to the
locator has not already been nulled.  So the annul method
needs to free the object before doing so.