Fix whitespace
Remove support for Gstreamer 1.0
autogen: Download fluendo common build tools if not already there
Using GstFileMemAllocator to allocate memory for slots

The work on GstFileMemAllocator that uses mmap() to extend physical memory
available is available here:
https://github.com/kkonopko/gstreamer/tree/filemem-allocator
Fixed issue with buffer references

The ringbuffer holds a list of buffers used as memory containers (slots).
When a buffer is sent dowstream, it's actually supposed to be consumed and
disposed. To avoid that and reuse buffers need to copy them before sending
them downstream. The copy is a "shallow" copy though so the actual memory
is shared.
Minor patch for the dump_cache_state()

The state string LUT should have items reordered.
Removed all recording related code

Removing should be decoupled anyway and handled by a separate element.
Having this feature in the timeshifter itself only complicates it.

Now we are in a better position to test and improve it.

Other:
- fixed a regression: buffer metadata was not added so when buffer was
  consumed, the slot did not change its state from POP to RECYCLE (this is
  handled in metadata "dectructor": gst_slot_meta_free()

- returning gboolean from gst_shifter_cache_push as we need to indicate
  overrun situation

- renamed/removed any "recording" related entities to "temp" related to
  avoid confusion (recording is not intended to be an integral part of the
  timeshifter)
Fixed a regression: slots not recycled

Buffer metadata was not added so when a buffer was consumed, the slot did
not change its state from POP to RECYCLE (this is handled in metadata
"dectructor": gst_slot_meta_free())
Getting "temp-template" property instead of setting it in *_get_property()
GstFileMemAllocator requires temp file template
flutsmpeg: Adjust time (base time) before feeding to indexer rather than after

This means that there is less information required on the "seeker" side
of the equation and should make it easier to handle PCR wrapping.  On the
down-side it is no longer possible to derive the buffer timestamp from
the contents of the buffer.
flucache: Add gst_shifter_cache_get_total_bytes_received

This will make it possible for flutsbase to find the total number of
bytes in the buffer rather than having to rely on derived classes doing
it allowing BYTES based seek events to be handled by the base class.
flutsbase: Only pass TIME based seeks to derived class
flutsmpeg: Don't rely on ts->last_time in flumpegshifter_seek

It belongs to the sink side of the element which I am attempting to
separate from the src side on which seeking is implemented.
flutsbase: Remove virtual function update_segment

Mapping from BYTES to TIME can be accomplished solely using the index
which the base class has access to.  This means we don't need to call
the any derived class virtual functions and makes seeking, and thus
the src side of the element more independent from the sink (indexing)
side.
flutsbase: Initialise segment on seeker side rather than indexer side
flutsbase: Add index property

This will allow us to get and set the index such that it can be
shared with other elements.  This is part of an effort to split
the timeshifter into multiple elements which do one thing and one
thing well.
Add timeshiftseeker element

The timeshiftseeker element is part of an effort to split the
timeshifter into multiple elements such that the indexing/seeking/
ringbuffer can be reused independently.  It is currently an empty
shell which just passes buffers and events through verbatim but
code will be moved into it.

timeshiftseeker will be responsible for doing TIME->BYTES conversion
on upstream seek events and BYTES->TIME conversion on downstream
segment events based upon an index generated externally to the
element.
flutsmpegbin: Add seeker to bin
timeshiftseeker: Add index property to seeker

This will allow us to share the index between this element and
others.