git-tools.kak: Add completion support to git command
memoryview: add support for reverse iteration
Refactor main loops, use separate functions for each running mode

Server, Client, and Pipe are handle through separate functions,
with the kakoune function handling parameter parsing.
Add support for running kakoune as a filter, using -f 'keys'

It will cycle on every given files, apply the keys and write to
<filename>.kak-out. Only normal/insert mode is available, kakrc
are not read.
Refactor, remove kakoune function and move it inside main.
Add support for reading from stdin/writing to stdout in filter mode

Note that kakoune still needs to read the whole buffer first, only
once stdin is closed can it execute the keys.
Add exception reporting in filter mode
Always inline a few more methods
git-tools: list available commands in git docstring
Get forced file descriptors after calling poll

That way, we do not wait for the next poll to finish before servicing
forced fd triggered by a signal that interupted the poll call.
Document filter mode