Rename Blame#hunk_by_line to Blame#for_line.
Add some more documentation.
Handle invalid index positions and line numbers correctly.