fix for Mailpile blocking on gpg decryption

For very large encrypted mail, Mailpile is blocking endlessly on
decryption. This is due to the fact, that Mailpile first tries to pass
all data to gpg and only then starts reading output of gpg.

The problem is fixed by useing select to multiplex input/output to/from
gpg.
fix fd leak

close both sides of pipe opened with os.pipe()
use a git submodule for the docs
Merge pull request #481 from vise890/master

Use a git submodule for the docs
Fix charset handling

get_charset() returns always None for parsed message ; use
get_content_charset() instead.

This bug can be demonstrated by sending an email containing Japanese
characters using a non-UTF8 charset (for example, EUC-JP)
New output format for crypto/gpg/receivekey. Fixed #479, finished #478
Merge pull request #484 from sloonz/master

Fix charset handling
Merge pull request #477 from EmilTh/master

fix for Mailpile blocking on gpg decryption (bug #434)
Moved Bulk Actions JS into it's own file
Edited code for Searching Keyservers
Added global.js for more generic methods and such
Added classes for generic selecting of elements
Modified mailpile.tag_list JS to get list of tags
Various tiny updates to HTML and CSS
Removed uneeded min JS file
Removed uneeded LESS file
Fixed #482
Fixed missing parenthesis