Fix zombie processes from PDF thumbnail generation
Fix zombie processes from PDF thumbnail generation

Combining backticks with Timeout means that ruby won't wait on the child
process once the timeout has been triggered.  This leads to zombie
processes being left behind that won't get cleaned up until the unicorn
worker restarts.

Switching to use Open3 fixes this because Open3 does the right thing
when a timeout is triggered.

It doesn't seem feasible to write a test to expose this as that would
require triggering a real timeout, and then querying the processlist.
The bahaviour has been verified manually.

alphagov/whitehall,YOTOV-LIMITED/whitehall,YOTOV-LIMITED/whitehall,hotvulcan/whitehall,alphagov/whitehall,askl56/whitehall,ggoral/whitehall,robinwhittleton/whitehall,robinwhittleton/whitehall,ggoral/whitehall,ggoral/whitehall,alphagov/whitehall,hotvulcan/whitehall,hotvulcan/whitehall,robinwhittleton/whitehall,YOTOV-LIMITED/whitehall,YOTOV-LIMITED/whitehall,ggoral/whitehall,askl56/whitehall,robinwhittleton/whitehall,askl56/whitehall,askl56/whitehall,alphagov/whitehall,hotvulcan/whitehall