more vim-like movements

added:
 * ctrl d = half page down
 * ctrl u = half page up
 * G = focus last entry (only search buffer for now)
remove old unread-related code completely
add config option: auto_remove_unread
implement autorm-unread

this reintroduces the automatic removal of 'unread' tag.
Instead of doing it when unfolding a message, it is now
done whenever the cursor us moved to a non-summary part
of the displayed message.

Also, it is dependant on the (new) config option 'auto_remove_unread'.
doc: checkin autogenerated docs for auto_remove_unread
pep8 fixes
fix issue with concurrent db writes

This makes sure that
1. ThreadBuffer.render does not cause unboundedly recurr
  and tries to write to the index multiple times when the index is locked.
2. makes sure that these writes - caused by our overwritten .render method -
 do not cause a change in the ui-layout by triggering notifications.
 This would confuse urwid and kill the UI.

 fix #583
prevent accidental remove-unread operations

This ensures that explicit tag-unread commands
are not reversed upon the next keypress due to the newly
triggered auto-remove unread.

Also, this replaces a global write lock with message-local
write locks for this feature, allowing to browse through
multiple messages and auto-reming the unread tag even if the index
is locked
Merge branch '0.3.4-feature-autounread'
Gracefully handle reply and reply-to-all for self sent messages.
Merge branch '0.3.4-fix-self-replies-592'
set and honor mail-followup-to header
Merge branch '0.3.4-feature-mail-followup-to-599' into testing

Conflicts:
	alot/commands/thread.py
docs: checkin autogenerated config docs