Additional tests for Reflog

Here are a few additions on my previous PR #388 on `Reflog`.

I added some testing coverage, a small refactoring and also a small change : when trying to amend commit on orphaned HEAD, throw `OrphanedHeadException` rather than `LibGit2SharpException`.