DynamoDS/Dynamo — pull request #2896 by pboyer (2014-10-29 20:03:05+00:00)
Title: MAGN-4479: Package supporting assemblies

### Objective

When a user submits a package including .NET assemblies, they often include supporting assemblies that they do not intend to load as part of zero-touch. This PR provides UI features that allow a user to identify such supporting assemblies so that they do not appear in the node library when such a package is installed.

### Approach

Each package on the PM has a PackageHeader made up of PackageVersion's. Each PackageVersion has a Contents field, describing the contents of the package in an arbitrary way. This PR extends this field to include the assemblies in the package that should be interpreted as node libraries. This field is parsed (in Package.cs) upon downloading the package, and is modified when publishing a package (in PublishPackageViewModel.cs).

### User interface

A couple modifications were made to the user interface:

1) When a user publishes a package, they can context click on the package contents to define whether the package should be a node library or not. This assembly is bold when it contains node libraries, otherwise it is not.

![image](https://cloud.githubusercontent.com/assets/916345/4833623/3b892674-5fa6-11e4-879d-f35d8f106e8a.png)

2) The Manage Packages... dialog identifies which dll's are node libraries and which are not.

![additional](https://cloud.githubusercontent.com/assets/916345/4833635/4d6721ca-5fa6-11e4-9e7d-28752cc90e8c.PNG)

### Previous binary packages

Packages with .NET assemblies generated with a previous version of Dynamo will have all assemblies interpreted as node libraries, as before.

### Interaction with [SuppressImportIntoVM]

This pull request does not touch the current search or library loading logic in the VM. If a user has an assembly that "leaks" symbols from a dependent DLL, that DLL will also be loaded into the node library as before.

### Other minor fixes

I fixed an issue where package manager windows were not centered on the DynamoView when shown. This fixes that in DynamoView.xaml.cs.

### Unit tests

There are several unit tests added for parsing and serializing node library data into the Contents field of the package version.