C++11 tidying.
Fix incorrect coalesce() output when one input range is wholly covered by another.
std::shared_ptr
Some tidying up of test Doxygen.
Some macOS test build fixes.
Fix incorrect sign on boost test constants.
Add a descriptive comment to a test file.
Change video content scaling so that it either: 1. scales the content up to fit the DCP container, preserving aspect ratio, or 2. stretches the content to a custom aspect ratio, or 3. scales the content to some custom size.
Fix length of player output so it can be either the film's length or playlist's length, as appropriate.
Fix Empty/Player behaviour when using a playlist that is not the same as the Film's. Previously Empty would use the length of the film for its end point. Now it takes a Playlist (rather than a list of Pieces) and uses the length of that playlist for its end point. This fixes #1543, in which single-content audio analysis jobs would run for the whole length of the film, rather than the length of the content, producing strange graphs and incorrect progress reports.
Test updates now that there can't be <1s long DCPs any more.
Put Time types in dcpomatic namespace.
Stop jobs silently failing in tests.
Take Film pointer out of Content.
Build Empty objects from the presence or absence of decoders in Pieces, rather than the presence or absence of content. This seems better because of cases like encrypted DCPs without a a KDM: here we may have content but no decoder.
Remove Film dependency from Empty.
Add some tests; fix failure to make DCP when there is a bit of audio right at the end of the film (with no corresponding video).
Fixes for silence in projects, various cleanups.