Allow adding references to executor/engine via Assembly instance

Fixes #471.

This also changes the signature for executor. Instead of passing references by string (path/name) we now pass `AssemblyReferences` object which contains both Hashset of path/name and Hashset of Assemlby