Move MXMIMAPAccount to Accounts directory

Source files are stored in different subdirectories depending on where
they are in the stack. The MXMIMAPAccount class has been stored in the
clients directory, but this has always been a bit weird. Everything else
that is in that directory is fairly application agnostic. MXMIMAPAccount
does not and the most prominent argument for it is that it is
initialized with a user defaults dictionary and also interacts with the
keychain.

We create a separate subdirectory called accounts where we move the
class. It will be used as a middle ground between the client layer and
the application level.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Pass untagged replies to client's delegate

The delegate should be responsible for handling any untagged replies.
The client will primarily handle tagged responses in order to call
callback blocks.

Add a method to the delegate for handling untagged replies, and
implement it in the delegate.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Use isMemberOfClass: when possible

We check if an object is of a specific type at certain places. To do
this we often use isMemberOfClass:, but we're also using isKindOfClass:
at some other. It's not really necessary to use isKindOfClass: in all of
these since we're not interested in subclasses. Use isMemberOfClass:
when possible, and only use isKindOfClass: when that is actually needed.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Maintain dictionary with mailboxes

Parse incoming list replies and use them to maintain a dictionary with
mailboxes. Mailboxes are only added or updated as list replies comes in.
There is no way to remove mailboxes, however it will probably need to be
added later.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Show tree of mailboxes under account

Once we have connected and authenticated to the server we should request
an initial list of mailboxes. Handle the replies and show the mailboxes
in the server window under each account. At this point mailboxes are
never removed and further list commands are not sent.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>