[TREELIST] Update MC_TLS_MULTISELECT docs.
[TREELIST] Fix code formatting.
[TREELIST] treelist_do_select_ex: Send MC_TLN_SELCHANGING...

... before clearing old selection. If app. denies to change the selection
we should keep old selction unchanged.
[TREELIST] Rework and fix some bugs in MC_TLS_MULTISELECT.

Changes:
 * Get rid of treelist_do_select_ex().
 * Instead provide more optimized functions treelist_set_sel(),
treelist_toggle_sel() and treelist_set_sel_range().
 * Ignore MC_TLS_SINGLEEXPAND when MC_TLS_MULTISELECTION is in use.

Bug fixes:
 * Fix crash when multi-selecting more root items.
 * If selected item is deleted, change selection before MC_TLN_DELETEITEM
notification, so MC_TLN_SELCHANGING and MC_TLN_SELCHANGED are guaranteed
to come before the deletion notification.
 * If multiple items are selected and one of theme is deleted, ensure
that treelist_t::selected_last is set to other selected item.
 * Clarify and fix sending MC_TLN_SELCHANGING and MC_TLN_SELCHANGED for
multiselections.
 * Ressurect better selection change when deleting selected item without
the style MC_TLS_MULTISELECT.
 * Minor improvements to keyboard handling.
 * When losing the style MC_TLS_MULTISELECT, ensure not more then one item
is selected.