Dialyzer r16 b02 fixes

Fixes a dialyzer crash when using remote types in the tail position of a maybe_improper_list/2 type.
In addition, it extends the dialyzer test suite with an appropriate test and cleans up some others.