Use US-ASCII in IMAP SEARCH commands unless the search text contains non-ASCII

Apparently Exchange does not support UTF-8 text searches.

Fixes issue #16
Added remarks for ImapFolder.MoveTo()
Don't modify ImapCommands once they've been added to the queue

This doesn't actually affect anything right now, but in the future,
the ImapEngine may begin processing commands as soon as they're
added to the queue.
Fixed formatting
Implemented client-side sorting and threading
Regenerated documentation
Update README.md
Added Jamie Zawinski's TestThreader.java unit tests and fixed bugs found in MessageThreader
Renamed Uid properties to UniqueId
Allow fetching of the References header to support client-side threading of summaries
Bumped version to 0.5.0.0
code cleanup
Added an ImapClient.GetFolder() method that takes a folder path
Merge remote-tracking branch 'upstream/master'