Moved various commands to their rightful place

Background
-----
This pull request is meant to reduce the size of ```Dynamo Start Screen``` work that is happening on a [separate branch](https://github.com/Benglin/Dynamo/compare/Inception). There is no actual code changes in this pull request beyond moving the following commands from ```DynamoModel``` to ```DynamoViewModel``` class (where commands should rightfully be):

```
- ShowOpenDialogAndOpenResult, CanShowOpenDialogAndOpenResult
- Open, CanOpen
- Save, CanSave
- SaveAs, CanSaveAs
```

Unit Test Cases
---
Unit test cases are updated to use commands (e.g. ```OpenCommand```) instead of the actual methods (e.g. ```Open```). These actual methods are now made ```private``` since there is no reason why they should be made ```public``` or ```internal``` just because they have to be used in test cases.

Note to Reviewer
-----
There are large number of test cases that are updated, but they are merely replacing method calls (e.g. ```model.Open```) with the corresponding command (e.g. ```DynamoViewModel.OpenCommand.Execute```). Reviewing of these test cases is optional, I have done the second pass through these files myself to ensure the right commands are executed (e.g. ```DynamoViewModel.SaveAsCommand.Execute```) in place of the old method calls (e.g. ```model.SaveAs```).