Allow passing negative values to Rugged::Blame#[].

When passed a negative value, it behaves like Array#[].
Explicitly disallow passing negative numbers To Rugged::Blame#for_line.
Remove allowed failures again.
Try to move all checks to C-land.
Srsly guise?

Guise srsly?
Merge pull request #284 from libgit2/arthur/change-blame

Change Blame behavior with regard to negative values