Implement VM Ports via pickling in the heap!

* We allow to get only once the stream on VM.stream to avoid leaks.
* The sending without inter-VM synchronization is accomplished
  by pickling the value, dumping that to a std::vector allocated on the heap
  and adding a task via targetVM.postVMEvent() which unpickles the value
  from the std::vector and binds it in the stream.
* We use a ReflectiveEntity to represent a VM,
  and intercept {Send VM V} to pickle V first.
  (much cleaner than calling Pickle.pack in C++ code)