Update to latest libgit2 reflog changes

This ports the latest reflog changes from libgit2 into Rugged.

Both `Reference.create` and `Reference#set_target` now take an optional options hash which can be used to pass a custom reflog message and/or a custom signature.

Additionally, `Reference#log!` was dropped, as @carlosmn mentioned that it was unsafe to write to the reflog directly, and that this functionality might be removed from libgit2 in the future.