Added unit test cases for scheduler

These new test cases are added to verify that ```DynamoScheduler``` shuts down along with its associated ```ISchedulerThread``` in a predefined manner. In addition to that, shutting down ```DynamoModel``` should also properly shutdown its ```DynamoScheduler``` + ```ISchedulerThread```.

These test cases are added to verify the completion of [this internal task](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4686).

Hi @ke-yu, please take a look, thanks!
When ```ENABLE_DYNAMO_SCHEDULER``` is defined, this override method is basically a NO-OP. So I'm moving the ```ENABLE_DYNAMO_SCHEDULER``` outside to enclose the entire method instead of just its body.