Optimisations

* Concurrently populate the list of .emlx/messages when searching a mailbox folder
* Use NSURL and resource keys when searching mailboxes for messages (to avoid hitting the disk multiple times)
* When checking if a mailbox contains children - assume there are messages after a single file has been found (don't load all the files to check there is more than 0)
Version bump
Minor performance tweaks to speed up mailbox loading
Fast enumeration is faster than block enumeration in this case

Since NSMetadataQuery is synchronous, there's no point trying to perform concurrent searches - it actually slows things down