Rationale:
-other backends don't require internet access
-displaying last unread count w/o connection seems reasonable
-however: error handling in get_connection() is quite wildcardy,
which is no good. Should be fixed asap.
Introducing a core exception for directly displaying errors may be a good idea at this point for next.
Mail checkers are not separate modules anymore; there is only one
mail checker module (called mail) that can make use of various backends
, which were formerly modules on their own.
This greatly simplifies code and reduces redundance.
This commit only contains the base classes for this.