make ModuleInfo immutable

- allows to put them into read-only segment and
  avoid some copy relocations

- use allocated bit vector for module sorting

- also mark all ModuleInfo methods and members as immutable