Add a isNicklistEmpty method to buffer model, speed up nicklist decision

Flattening the nicklist is really unnecessary. This method is 10x faster for short
nicklists, and much faster for buffers with lots of users.
Defer nicklist loading until buffer is opened

Drastically improves startup time for users with buffers that have thousands of users
Load lines before nicklist

Nicklist is not nearly as important as the actual lines, load them first for better perceived performance. Parsing the nicklist can take a noticeable amount of time for channels with thousands of occupants.

This also improves/fixes the nicklist emptiness check
Fetch nicklist by buffer name, not pointer

An invalid pointer will crash WeeChat, while an invalid name will not. A pointer
becomes invalid e.g. if the buffer is closed by another client, g-b not updated,
and the buffer then selected in g-b.
Merge pull request #225 from lorenzhs/defernicklist

Defer nicklist loading until buffer is opened