Use #descendants engine_local_fix

Previously #subclasses was used, which is less reliable and
susceptible to load order issues. #descendants uses ObjectSpace
which is more reliable.
A set of classes to encapsulate details for mounting engines.

Setup for our first engine, pensions calculator, with a pattern that can be expanded for other engines.
Implement the language translation link for engines.
Implement correct constraints for the pensions calculator.