Search all the things

:warning: Not Ready To Merge :warning: 

This should be sufficient to resolve #337 and #352, but there's some more I'd like to support before this is merged.

- [x] Read
- [x] Unread
- [x] Before/On/Since Date
- [ ] Flagged
- [ ] Answered Unanswered
- [ ] New/Old
- [ ] Draft/Deleted/Spam

Also, for the dates, I was wondering if I should `or` the search key to hook the internal date field as well as the date field for a more complete result, or if it should be a new method.