change SignedRequest#errors to a catch/throw model instead of a massive (and growing) cascade of if statements