Remove global descendants tracking
Remove global descendants tracking

This removes tracking descendants in parent class @descendants and moves
it to explicit registration through `ROM.register_#{class_type}` which
still happens in the inherited hook of Relation, Mapper and Command.

The difference is subtle but important - registered classes are only
part of the setup and we no longer depend on descendants_tracker gem.

This means there's no need to be worried about global @descendants
registries which is a win and at the same time you don't have to
register classes "manually".

rom-rb/rom-support