`tag` and `untag` only affect matching messages in seach mode

In search mode, when I say `tag foo` on a given thread, only the messages matching the current search get the tag `foo`, non-matching messages are unchanged. The same applies for the `untag` command, which is consistent. However, the documentation states *tag: add tags to all messages in the thread*, which is not what happens.

This is problematic in several use cases. A typical example for me is the `killed` tag: when I press `&` on a thread line, I do want to kill the thread, i.e. put the `killed` tag on all messages in the thread, otherwise the thread is not killed, only some of its messages.

Surely, tagging only matching messages is also useful in other situations, so I think the best solution would be to add an option to the `tag` and `untag` commands to let the user choose.