support git notes

Add basic support for Git notes.

Notes are displayed in commit buffers unless `magit-commit-show-notes` is nil. The new `magit-notes-popup` and its commands can be used to manipulate notes. `magit-notes-set-ref` can be used to set the notes ref to be manipulated and displayed. `magit-notes-set-display-refs` can be used to set additional note refs to be displayed (unfortunately Git has a bug, so it doesn't work except if you use a glob, I recommend `"*"`.

Only the subcommands `edit`, `merge`, `remove` and `prune` are supported. Instead of `get-ref` we have a command to set it (which shows the current value as default), `list` doesn't display something useful out of the box, the various `edit` variants are about copying text from elsewhere, if you need that drop to the command line.

Additional functionality could be built on top of that but that won't happen anytime soon.