Fix class layout.
Use single hasFeature() method instead of separate methods for each feature.
Fix injecting dependencies into IMAP driver.
Implement composite transports.

This allows for individual transport backends for different filter rules.