signature: use default, use current time

Makes passing signatures optional, if no signature is specified the one from the configuration is used. If a signature is passed without a timestamp, the current time is used.

Affected:
```ruby
Rugged::Tag.create
Rugged::Commit.create
Rugged::Object.remove_note
Rugged::Object.create_note
Rugged::Reference.log!
```

Changed `Rugged::Reference#log!` API:
` reference.log!(committer, message = nil)` :arrow_right: `reference.log!(message = nil, committer = default)`