Adding exceptions to subprocess calls.

1. Before use, a subprocess.check_call is used to check if
pdftoppm exists and is callable. Exceptions are raised for missing executable and non-zero return codes.
2. Exceptions are checked after each subprocess.popen, not that they catch much.
3. Exceptions in the PNM parsing are raised if the number of parameters in the line
is incorrect (usually because the pdf is empty).