Since aliases are so rarely used, just hardcode the list of aliases
inside the engine for now.
This combines the advantage of the speedup of the previous
implementation with the robustness of the first implementation. As
trade-off, extensibility suffers, but given the small number of aliases,
that's OK for now.
fixes#437