Fix bug with score parsing in SearchIO::Exonerate

Exonerate can return negative scores, such as:
vulgar: aly-miR169a 0 21 + contig15750__54-177 19 40 + -3 M 21 21

These were not parsed correctly, resulting in an empty hit.

Edit the corresponding regular expression to account for a
possible minus symbol '-' before the digits.
Add unit test for SearchIO::Exonerate negative score case

Exonerate can return negative scores.
We need to have a unit test case for that.

- Add example output file with a negative score

- Add test case, which parses the example output file and looks for
  the score of the first hit of the first result.
  Test succeeds if the value found matches the expected one.
  If the negative score is not parsed (as before the bugfix), the
  test is not run, meaning a failure per the test plan.

The handling of failure could be improved to have a more meaningful
error than the catch-all "Bad plan".
Merge branch 'bugfix-exonerate' of git://github.com/JeanFred/bioperl-live into topic/JeanFred-bugfix-exonerate