Add equality algorithms for float/complex basic types

Also:
 - Implement equality comparisons for complex types.
 - Fix map value assignment (use correct size in copy)

go/test/map.go from Go now passes