Not register event handler for Dispatcher.ShutdownStarted event

It is part of effort to fix [memory leak issue on Revit](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-3404)...``RevitDynamoModel`` is referenced by many objects, when looking at the reference retention path, ``Dispatcher`` is one if them. 

Related pull requests:
  - [Inherit from NotificationObject to avoid memory leak in data binding] (https://github.com/DynamoDS/Dynamo/pull/2890)
  - [Clear task queue when Scheduler is shutdown] (https://github.com/DynamoDS/Dynamo/pull/2881)

As ``Dispatcher`` is associated with thread, it is sort of static object, registering event handler for ``Dispatcher.ShutdownStarted`` prohibits the view from being garbage collected even it is unloaded. Plus, ``Dispatcher.ShutdownStarted`` is only fired when Revit application is shut down, it doesn't make sense to do "unload" things in it. Replace them with ``Unloaded`` event.

Reviewers:

- [ ] @ikeough 
- [x] @Benglin 
If you decided to remove ```Debug.WriteLine``` you previously added in this file, I think you can also make the above line shorter:

```cs
DynamoSelection.Instance.Selection.CollectionChanged += OnSelectionCollectionChanged;
```

If this change can be made, then the following unsubscribe too, can be changed. It's not a must though, it just gets too lengthy.