Reworked initial load detection and enabled auto collapsing

Load detection is now done based on number of expected comments (based on .kids) vs. comments added to the thread store
- This allows auto collapsing to fire as soon as the last iniital comment has loaded
- Temp hack in place until there's a solution for delayed comments breaking this :-/
- Full items are now passed to thread stores as their .kids are neded for loading detection
- Deleted items are now passed to thread stores as they appear in their parents' .kids and need to be accounted for

Moved a bunch more state out of items - thread stores or instance properties are now used to hold thread state
- Since this state now lives elsewhere, thread stores no longer send data with their callback payload, only type
- Item mixins now take an additional argument for thread state

Added a SettingsStore defaulting to autoCollapse=true

A failed attempt to use react-router's addHandlerKey to Item/PermalinkedComment routes to simplify them was backed out, as it seems to cause the next router handler to mount before the prior one has unmounted