If we return from the sub make sure all values are freed.
If we return from the sub make sure all values are freed.

Seems we had an early exit causing some nasty memory leaks.
XSRETURN_EMPTY will exit a subroutine right there. We need to clean up
the struct before exiting the routine. Memory usage is okay then.

Ensembl/Bio-HTS,Ensembl/Bio-HTS,Ensembl/Bio-HTS