SI-8323 Erase constant types for better double-def checks

Historically, Constant Types in method signatures have not been
erased. Rather, this was done in the backend.

This state of affairs leads to wrong decisions when the erasure
phase makes decisions about whether a pair of methods will clash
in bytecode.

This commit changes `ErasureMap` to take the underlying type of a
constant type.

This change obviates the fix for SI-4753, dcc07bd9f.

I've added test to show that constants are still inlined.