Contact list rework

Okay, i've been doing this rework for quite some time and i think it's stable enough to be merged to make it some testing and feedback.

So how it looks:
![no image](http://dump.bitcheese.net/images/aruwygy/blight_newcl.png)

Contacts are sorted based on their status and case of equality alphanumerically. Groups are placed to the end. I used mrlib/aligned-pasteboard as basis for new smart-list component.

When contact list has focus contact entries can be browsed via up/down buttons and selected with space.

Since this is a HUGE pull request please give it some testing, although it workes on my machine (C).
ah, ok.
but groups-count is the number of current active groupchats = (hash-count cur-groups) so the user will see consecutive groupchat numbers