support renaming buffers

Changing buffer name allows to save a *make* or *grep* buffer when
launching another one for exemple.
selecting a surrounding object goes up one level if what we find is already selected
use a DynamicSelectionList when searching as the buffer may be modified during the prompt
git-tools.kak: use a single git command with subcommands
FlagLines: do not create a new local option in window if the option comes from the buffer
Buffer: add is_valid(BufferCoord) method
use alt-J for joining and selecting the spaces replacing line breaks
utils: add is_in_range function
BufferCompleter: change behaviour to handle non prefix completions

Try to have a nice behaviour when the completions do not share
a prefix with the [completion begin, cursor pos] string.

For example an address book completion may provide candidates
for frrrwww that are 'Maxime Coste <frrrwww@gmail.com>', not
having frrrwww as a prefix.
Buffer: rename character_count method to byte_count