Updated (Revit)DynamoModel constructors to take "StartConfiguration"

Background
-----
This pull request adds little tweaks to the [existing great work](https://github.com/DynamoDS/Dynamo/pull/2055) of @pboyer. Both ```RevitDynamoModel``` and ```DynamoModel``` constructors are updated to take ```StartConfiguration``` instead of series of parameters. The job of validating the ```StartConfiguration``` is still left with ```RevitDynamoModel/DynamoModel.Start``` static methods, but instead of extracting contents of ```StartConfiguration``` into local variables, the ```StartConfiguration``` object is updated in-place with default values (if the caller does not supply one).

The Why
-----
In ```DynamoScheduler``` work there is a need to allow ```RevitDynamoModel``` to pass in a reference of ```ISchedulerThread``` implementation to the base class ```DynamoModel```. I could have easily added another parameter to both ```RevitDynamoModel``` and ```DynamoModel``` constructors, but that approach is not scalable. The clear alternative was to make use of the nice ```StartConfiguration``` that has already been put in place. There is no reason why this structure cannot be passed from ```RevitDynamoModel``` constructor to ```DynamoModel``` constructor. That thought eventually led to this change.

Notes to Reviewers
-----
Hi @pboyer, @ikeough, please take a look. This pull request changes Revit relevant files. Once this is merged into ```Dynamo/master```, I'm gonna merge it over to ```Dynamo/Revit2015``` branch.