THRIFT-4497: Use `map()` field type for Erlang type for map struct fields.
Client: erl

The Thrift Erlang code generator previously generated fields with the
`#{}` Erlang type for maps fields.  In the Erlang type specification
languages, however, `#{}` specifically means an empty map.  This commit
fixes the code to emit `map()` instead, which means the maps keys and
values may be of any type.

It would be possible to emit a field type such as
`${keytype() => maptype()}`, but this commit does not do that.

This closes #1495
diff --git a/compiler/cpp/src/thrift/generate/t_erl_generator.cc b/compiler/cpp/src/thrift/generate/t_erl_generator.cc
index 9e1e23d..2b644c9 100644
--- a/compiler/cpp/src/thrift/generate/t_erl_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_erl_generator.cc
@@ -717,7 +717,7 @@
     return type_name(type) + "()";
   } else if (type->is_map()) {
     if (maps_) {
-      return "#{}";
+      return "map()";
     } else if (otp16_) {
       return "dict()";
     } else {