baseclass: general overhaul

Some improvements:
* Better thread synchronization behavior
* load_from_buffer/custom accepts a new initial_num_loops parameter
* gst_nonstream_audio_decoder_set_output_audioinfo(_simple) renamed to
  gst_nonstream_audio_decoder_set_output_format(_simple)
* TOC behavior fixed
* Unnecessary pull-mode sinkpad behavior removed (leading to clearer code)
* gst_pad_push() was being called while the output task held a lock
  on the mutex, sometimes leading to deadlocks
* removed GST_NONSTREM_AUDIO_OUTPUT_MODE_UNDEFINED, since it did not work
  well with the way GObject properties behave

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>