FFmpegInfo: fix time format conversion.
adds backbone.js like wrapper over mongo and redis

Nothing special, just reinventing the square wheel. Again.
This lets us define models and collections just like in backbone.js that
interact with our magical redis backend.
use proper models instead of munging with mongo.

Now we do not depend on Caspa anymore to ingest stuff.
MD5: emit error if file is not found.
FFmpegInfo: handle when bitrate is not available.

For some videos we can get 'N/A' instead of a number.
FFmpegInfo: fix aspect ratio calculation.

when that value is not available infer it from the video size.
basic test skeleton
testing: adds .travis.yml
testing: adds MD5
testing: adds FFmpegInfo
tests: adds helper to compare image files.
testing: adds Thumbnail
testing: adds Filmstrip
jobs: identify '.jpeg' as image too.
Thumbnail: correctly calculate -ss param to ffmpeg
move queue initialization outside of Patero. Use proper path variables
instead of global.
move creation of Media on Caspa outside of Patero, just signal that
the transcoding is done.
testing: adds a Job mock.
adds a GLib Redis listener.

can't believe it took so long to make something so simple.
Backbone.Collection: fixes __getitem__