Selection methods return their selection target.

For things like divided surface selection, the selection target is the
divided surface. The elements which are returned from the operation are
the tiles on that surface.
Add SelectionUpdateDelegate

Selection update delegate is called when the selection target is
modified in Revit.
Fix dependency accumulation
Update PackageLoader to support zero touch assemblies
Also copy xml files when building pkg
Renamed PackageManagerPublishView to PackagePublishView, started work on discovering DLL dependencies
Thinking about discovering assembly deps
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into ApplyUpdate
Ignore SSA nodes
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into ApplyUpdate
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into ApplyUpdate
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into ApplyUpdate
Implement a jdep (jump dependency) instruction

1. jdep instruction will handle update propagation by finding the first
dirty node and jumping to its pc.
2. jdep is code gened after a dep instruction
Added LoadedAssemblies collection to Package, some refactoring of private methods
Move some of the package manager files around for easy access
Merge with master
Handle ApplyUpdate on dep instruction
Set assemblies when creating new PublishPackageViewModel
ApplyUpdate finds first dirty node on the global scope only
Code cleanup + testcases