Reflog refactor

The goal here is to ~~make it easier to~~ adapt to the mandatory-reflog changes in the native reference API.

Each logging call has been split in two: one which accepts both a log message and a signature, and one which accepts neither (and passes null for them to the first).

- [x] Split calls
- [x] Cover new combinations with tests
- [x] XML-docs
- [x] Mark old overloads as `[Obsolete]`

Fixes #616 
Fixes #505