message: output message id and locations on all exceptions when loading message
ti: don't update thread line when thread is empty.

there is most likely a race condition going on between updateing the
threads and updating the lines in the buffer. just return and skip
updating line if the thread that is set for the line is empty.

testing and debugging by @fxkr.

fixes #190.
history: write some..
conditionally install xapian-ruby when not on OpenBSD
add explanation for extension used for OpenBSD conditional dependency

expand comment on OpenBSD installation

remove note about adding OpenBSD installation steps
don't load libc and do setlocale() on OpenBSD
xapian: correctly include extension, only install xapian when not installed.

It seems that the way the extension was included prevented it from being
run properly.

Also, xapian was always being installed on platforms where it should be
- but also when it was already installed. Now testing if exists before
installing.
add a post-install message for OpenBSD users
gemfile: specify xapian-ruby dep independently if not on openbsd, since bundler doesn't seem to get it from the extensions
gemspec: move post-install message together with the rest, otherwise it overwrites the original message.
openbsd: history and rel-notes
index most expandable attachments, fixes #331
fix encoding before indexing
Add follow uri
Merge branch 'develop' into decode_sources
exclude directories from maildir email list