Allow the last of multiple effects chains to be empty
Allow the last of multiple effects chains to be empty

In multiple effects chain mode, allow the last chain to be empty to
indicate copying without further processing. E.g.,
  sox infile.wav outfile.wav trim 0 30 reverse :
would reverse the first thirty seconds of the input file, then append
the rest of the file unchanged.

This resolves feature request 2459231 and also fixes a memory leak,
where in previous versions the empty last chain was ignored but not
freed.

jacksonh/sox,pcqpcq/sox,mhartzel/sox_personal_fork,MageSlayer/sox,mhartzel/sox_personal_fork,cbagwell/sox,pcqpcq/sox,pcqpcq/sox,cbagwell/sox,jacksonh/sox,jacksonh/sox,Motiejus/sox,MageSlayer/sox,CaptainHayashi/sox,CaptainHayashi/sox,MageSlayer/sox,uklauer/sox,CaptainHayashi/sox,uklauer/sox,Distrotech/sox,jacksonh/sox,Distrotech/sox,davel/sox,davel/sox,davel/sox,MageSlayer/sox,pcqpcq/sox,MageSlayer/sox,Motiejus/sox,Distrotech/sox,davel/sox,Distrotech/sox,mhartzel/sox_personal_fork,Motiejus/sox,cbagwell/sox,Motiejus/sox,uklauer/sox,cbagwell/sox,CaptainHayashi/sox,uklauer/sox,mhartzel/sox_personal_fork