gnl: Remove trailling whitespaces and tabs in .c files
gnl: First implementation of the commit based API

Currently, the only safe way to modify a composition, or an object, is to pause
the pipeline first. We think that this limitation eliminates many use cases for
GNonLin. Few video editors let you create a draft of your video by applying
multi-cam technic. Also people could want to eventually consider doing live
video production, which obviously require being able to change the composition
in playing state (and increase compositon duration as we go).

This commit is a first step making GNL fully commit base. Objects, Operations and
Compositon keep a copy of modified values, and only apply those changes
when a commit is executed. This potentially allows making the changes
(or group of changes) fully 'atomic' without having to pause the pipeline.

Added API:
----------
  GnlObject::commit action signal

Removed API:
------------
  GnlComposition:update property

+ Fix the tests

https://bugzilla.gnome.org/show_bug.cgi?id=701287
gnl: Setting priority == MAXUINT32 does not mean "default object"

This was how expandables worked prior to the expandable property.

Using MAXUINT32 has some limitation and which are fully covered by the
expandable property. Drop this support, as we will plan on implementing
an automatic way of filling gaps.

https://bugzilla.gnome.org/show_bug.cgi?id=701287
gnlcomposition: Make the pipeline update protected from any child changes

When calling the gnl_object_commit method, we need to make sure that no
object can be changed and, it should be true until the pipeline has
fully been udpated.

We now need the update_pipeline function to be called with the
COMP_OBJECTS_LOCK taken, and we do not unlock that lock during the whole
pipeline updating process.

https://bugzilla.gnome.org/show_bug.cgi?id=701287
gnlcomposition: Remove uneeded indents

Going from

if (something) {
  do_something();
} else {
}

to

if (!something)
  return;

do_something ();
gnlcomposition: Remove support for gaps

The way we were handling gap was weird and not natural at all for
users, remove it for now.

In the long term, we should have a proper way of filling gaps in the
API and for now only emit an STREAM_ERROR message on the bus when a
gap is detected.

The user is now responsible for filling gaps in the composition

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