Superclasses ordering in nitvm and a bug fix

The first commit fixes a bug in the allocation of internal attributes structures.

The second commit introduces structures for saving the offsets of each block of methods and attributes in each class.
For now, this is not used, but later this will help the compilation/recompilation protocol to chose which implementation mechanism could be used for a given call site.

The third commit presents an algorithm for ordering superclasses (a kind of linearization). This computed order is the order of classes in virtual tables. 
This order is computed to follow the rule called "prefix condition": for a given class that we are currently ordering, we try to put the order of one of its direct superclasses in prefix of its own order.

Et re `HashSet`