Cosmetics: Move unop/binop emitting to their own functions
Test logic bug: defined or to the rescue
Fix function names in _to_types

Duh.
Cosmetics on _to_FOO methods

Rename _to_FOO methods to have a _value suffix if they do not return a
type.
Allow passing ANY/UNSPECIFIED to _to_type

Just passing it through.
More boolean tests
Implement and test ternary

This is still buggy in that if you use it like

  my $x = ($a ? $b : $c);

it will do the wrong thing and possibly return "UNSPECIFIED" if that's
the input type.
Fixing this requires the minimum-covering type.