Base collection and List view: trigger more consistent "load" events

The base collection class now triggers a series of "load" events when
it is fetched. In order:
- "load:start" when fetch starts
- "load:first" when first fetch completes, provided it returned at
least one item.
- "load:more" when a subsequent fetch completes, provided at least
one new item got added to the list
- "load:last" when fetch completes with no new items or with fewer
items than the requested number.
- "load" when fetch completes, regardless of whether new items got
added to the collection.
- "load:error" when an error occurred.

The chain of events is more consistent than it used to be. The
"syncstarted", "syncsuccess" and "syncerror" events are still
triggered but are deprecated. They are synonymous to "load:start",
"load" and "load:error".
DynamicContainer: Woodman logs added, switched to "listenTo"

The update does not introduce any functional change to the view but
brings a bit of logging to the class. I also switched from on/off
to listenTo/stopListening to ease the garbage collection of the view.