Allow shell quoting on CLI

Break up command-line args using shlex rather than string.split

This enables multiple-word tags using quotes:

mailpile> tag/add "three word tag"
mailpile> tag +"three word tag" 20
Add .swo to list of ignored files
When readline is loaded write history file on shutdown
Add autocomplete for commands when readline is loaded
Add quit command
Improved nice_subject by adding Fw: case issue #633
Commented out Message thread bulk actions as none actually do anything, and curious to role with it for reducing UI clutter
Improved case where Composer was bubbling in Thread
Improved UI feedback on dragging messages from Pile to Sidebar
Fixed UI feedback message_cache thing in Drag & dropg
Merge pull request #652 from jwaterfaucett/add_quit_command

Add quit command
PEP8, make new CLI tab-completion dynamic and aware of tags
Merge branch 'tags' of github.com:danohuiginn/Mailpile into pull-zone

Conflicts:
	mailpile/commands.py
	mailpile/plugins/tags.py
Fix mistakes made merging the shlex stuff
Make shlex the default argument splitter
Merge branch 'pull-zone' - shlex ftw!
Adding pyside experiment to scripts/
PEP8 and return message cleanup (issue #383)
Add mode=flat or mode=tree to /tags/, omit duplicates, add sum stats (issues #667, #662)
Prevent duplicate counts in subtag summary calculations