Set correct exit code when invoked with cli runner

Fixes #169.  Turned out to be a bit more involved of a fix
since the Runner wasn't correctly returning the errors.

This changes the method of Runner#run to return a Hash of
{spec_filename=>[array of errors]}.