lintian: Use autodie for checking open/close etc.

Signed-off-by: Niels Thykier <niels@thykier.net>
lintian: Bounds check the exit code in END

lintian is documented to exit with 0, 1 or 2.  However, in pratise
lintian would in many common cases exit with another value.  A trival
example being passing wrong arguments:

  $ lintian --bad-arg 2>/dev/null ; echo $?
  255

In particular, if the perl interpreter dies from an uncaught
exception, perl will determine the error code based on $! and $?.

This patch will have the END handler modify the exit code so that it
is always one of 0, 1 or 2.  It is not a flawless solution as $! (or
$? >> 8) could be 1 causing lintian in rare cases to exit with 1 when
2 would have been more appropriate.

Most of the bad exit codes comes from the frontend itself (especially
prior to loading the Lintian modules).

Signed-off-by: Niels Thykier <niels@thykier.net>