open_reply: fallback to use addr.local if addr.name is nil

If address doesn't contain name we end up with " wrote:" as a reply
header. It doesn't look nice.

Let's use addr.local + "@" if name is not defined. If addr.local is not
defined too, let's just use "somebody".

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
rename g:notmuch_sendmail -> g:notmuch_rb_sendmail

All configuration variable use prefix notmuch_rb_ except
notmuch_sendmail. Let's fix it.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
/usr/sbin/sendmail as a default g:notmuch_rb_sendmail

It's confusing that we don't have a default sendmail program. Let's use
/usr/sbin/sendmail as reasonable default.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Introduce g:notmuch_rb_folders_count_threads

If the option set, folders list shows count of threads, not messages

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Drop harmful reply buffer preparation

Inserting empty lines at the end of reply buffer and switching to insert
mode are not what user want on reply. It's only annoying if you try to
comment on patch.

If a user really wants this kind of preparation it should be implemented
as an user-specific hook.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
s:show_reply: set b:compose_done = 0 after buffer creater

Otherwise compose_done will be set for wrong buffer.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Extend VIM::Buffer: open, getvar, setvar, delete!, setpos

open: open a file in a new buffer.

getvar/setvar manipulates buffer-variables.

delete! is calls bdelete! for the buffer.

setpos: call setpos() vim function for the buffer.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Rewrite reply code path and implement compose

Most code moved to ruby to get cleaner.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>