Package from the future protection

### Overall scope ###

When a user has an older version of Dynamo, it's possible that they might attempt to download a package created with a newer version of Dynamo than their current one.  This pull request adds functionality to show a simple `MessageBox` when a user attempts to do this.  They are still allowed to move forward, but have the opportunity to cancel a package download (include all of its dependencies).  

### Messagebox!? ###

I think that we could add additional improvements to the UI for this work with a nicely styled `MessageBox`, but it doesn't seem like a high priority at the moment. Much of the package manager UI uses the `MessageBox` class for stuff like this, so it could be a later project to change this.

### Other changes ###

This pull request also changes Dynamo to use the dynamopackages.com endpoint (it previously used the IP address).  Also, the user should no longer see duplicate dialogs when uninstalling a package to replace it with a newer version.  They will only see one before they download the package.

### Unit tests ###

Fairly scant, this just introduces a unit test demonstrating the version checking logic.  This method only tests the major, minor, and build numbers (major.minor.build) so users with the different revision numbers (e.g. bleeding edge users) can still share packages amongst each other without seeing the dialog.

@ikeough @Benglin 
I've changed the name to UninstallCore to make it a bit more explicit.  Yes, this method is intended to be a silent version of Uninstall.  

 Like I said above, this component needs a bit of redesign to separate out all of the MessageBox stuff.  UninstallCore should actually live on PackageModel and all of these commands on PackageViewModel.