Generate mailbox tree for outline view

We have a dictionary for all known mailboxes. It has to be filtered
multiple times when the outline view with all the servers is reloaded.
This is a bit much work and complicates things like sorting. Instead
generate a tree structure that the outline view can query.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Make server outline view store mailbox tree

We have made the server outline view use a tree of objects instead of
filtering the dictionary of mailboxes multiple times. The view will
however still query the account multiple times for the tree. What this
means is that we're recreating the tree multiple times when we don't
need to, and that if we have multiple instances of the view they will
all have to display the same thing.

Let the server outline view store a copy of the mailbox tree so that it
is able to work with it without risk of interference.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Make list of mailboxes sortable

One of the benefits of making the server outline view act more
independent was that we can implement features like sorting without
worrying that we will interfere with potential other instances of the
view. So let's implement sorting.

Implement sorting in the outline view that shows the servers and
mailboxes.

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