markdown: Add abstract_map() concept.
markdown: Add abstract_map() concept.

The abstract_map() helper clarifies that our code
doesn't need a concrete Map object from JS. This
change is possibly premature until we get a little
bit closer on integrating with mobile, since it
solves kinda the same problem that we might handle
more elegantly with TypeScript or Flow.

OTOH I find it to be pretty non-intrusive for the
webapp.

andersk/zulip,andersk/zulip,zulip/zulip,andersk/zulip,zulip/zulip,rht/zulip,rht/zulip,rht/zulip,rht/zulip,rht/zulip,andersk/zulip,zulip/zulip,rht/zulip,zulip/zulip,andersk/zulip,andersk/zulip,zulip/zulip,andersk/zulip,rht/zulip,zulip/zulip,zulip/zulip