Return 0 (instead of NULL) like run_spiro()

Consistent with libspiro functions, take advantage of CPU testf for zero,
but allow free_spiro() to run for some old OSes that return non-zero NULL.
Merge remote-tracking branch 'origin/master'