Rewrite check_all and friends for more delicate error handling.

- If one of the searches fail, the others will still get processed.
- Same behavior goes for getting video duration
- Video insert is now synchronous and independent of getting video
  duration
- Single button update for every check