api: Experiment with providing a default export, for use as `api.*`.
api: Experiment with providing a default export, for use as `api.*`.

A lot of the names in our API bindings are also quite natural names
for other things in our code, like action creators -- and they tend to
be imported into scope in exactly the same places as we're defining
those other values.

This has often bugged me in little ways as it causes us to contort the
names on one side or the other for the sake of making them distinct.
I just ran into this again in `messageActionSheet`, as shown in the
parent commit.  The `muteTopic as apiMuteTopic` solution I applied
there works OK, but:
 * it means an extra name for the same thing (calling it
   `apiMuteTopic` at the call site, and `muteTopic` at its definition);
 * it means extra verbosity and redundancy wherever it's imported
   with that convention.

So, here's an experiment with an alternate solution: make it possible
to simply `import api as ...`, and then call these like `api.muteTopic`.

Definitely not a fan of how this takes us from repeating each name
4 times in this file on 3 lines, from 2 times on 1 line.  Would love
to see a way to cut that down.

But on the other hand I think this isn't actually that bad; it means
some repetition, but repetition concentrated in a file that is nothing
but rote repetition, and where we don't change that much -- it just
means a couple of extra lines to add when adding a binding for another
API route, in a highly regular and easy-to-copy way.  I'd much rather
have a bit of boilerplate here than all across our application code.

vishwesh3/zulip-mobile,vishwesh3/zulip-mobile,vishwesh3/zulip-mobile,vishwesh3/zulip-mobile