multiqueue: avoid using infinite buffers limit if finite is requested

If the current max-buffers limit it infinite and a finite value is
requested, switch to the MAX (requested, current-value) to set some
limit but not below what we know that we've needed so far.

https://bugzilla.gnome.org/show_bug.cgi?id=733637

https://bugzilla.gnome.org/show_bug.cgi?id=733837
bufferpool: Add missing error checking to default_alloc_buffer()

default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
failed allocation.

This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
buffer allocation fails.

https://bugzilla.gnome.org/show_bug.cgi?id=733974
Makefile: Add usage of build-checks step

Allows building checks without running them
gstcheck: add docs for gst_check_setup_src_pad_by_name()

https://bugzilla.gnome.org/show_bug.cgi?id=734142
utils: Unref/release pads in error cases when linking pads

Previously gst_element_link_pads_full() forgot to unreference or release
request pads in several error cases. Also comments were added mentioning
why releasing is not necessary in some places.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
tests: Add test verifying gst_element_link_pads_full()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
utils: Fix unititialized variable compiler warning
tests: Add missing unrefs of objects after use

Unreffing the objects returned by gst_bin_get_by_name() and
gst_pipeline_get_use() were missing in several tests, so add these.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734345
utils: Ghostpads can be request pads too but check if the pad has a template

Otherwise we dereference NULL in some cases and crash.
bytereader: use unchecked inline variant for get_remaining in more places

We've already done the g_return_*_if_fail (reader != NULL)
dance in those places, so no need to do it again.
examples: controller: fix typo in comments