Fixes #6444 - add support for virtual NICs

Sure, there are plenty of ways, ancestry is not one of them. We'd have to use n:m which turns tree to graphs. When you add graphs you should check for possible cycles etc... We could also have two trees (ancestry probably does not support that though). Or, which is quite easy, misuse one tree and give the association different meaning (since these are different classes thanks to STI, it's not that bad maybe)