MessageList: Move more RegenData initialization into regen_data_new().
Bug 702454 - EMailBrowser fails to show message

This reworks the MessageList regen scheduling to be a little more
intuitive, at least to me.  We now set the RegenData immediately, but
start the actual regen operation from an idle callback.  That way the
caller has the remainder of this main loop iteration to make further
MessageList changes without triggering additional regens.

I think what was happening before was we were triggering multiple regen
operations as we were configuring the EMailBrowser, with each new regen
cancelling the previous, and the message UID to select wound up getting
paired with one of the cancelled regen operations.  This resulted in no
message UID ever getting selected in the EMailBrowser.
ETreeSelectionModel: Modernize GHashTable usage.
ETreeSelectionModel: Further cleanups.
Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM.
Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT.
Remove unused ETableMemoryStoreCustomColumn.
Remove unused ETableMemoryCallbacks.
ETable-related cleanups.
Convert ETableModel to an interface.

Similar to what was recently done to ETreeModel.
ETreeTableAdapter cleanups.

This replaces e_tree_table_adapter_construct() with construct properties
and overrides GObjectClass.constructed() to finish instance construction.

New functions:

  e_tree_table_adapter_get_source_model()

Removed functions:

  e_tree_table_adapter_construct()
Update evolution-util API docs.
Bug #386113 - Show custom alarm message in pop-up alerts
Add e_tree_model_node_get_n_nodes().

Returns the total number of nodes in the tree model, including hidden
nodes in collapsed tree branches.
ETreeTableAdapter: Further cleanups.
Bug 702006 - Select All does not select collapsed threads
MessageList: Fix an unused variable warning.
Remove unused message_list_invert_selection().
Remove unused e_table_invert_selection().
Remove unused e_selection_model_invert_selection().