message list: Give a real type to the exported MessageList.
message list: Give a real type to the exported MessageList.

By annotating the argument to `connect`, we enable Flow to infer the
type of its return value -- aka `MessageList`, as seen by the rest of
the code -- and type-check call sites.

The repetition is unfortunate and I'd be glad to find a way to avoid
it.  I tried `Props = OuterProps & { /* ... */ }`, but unfortunately
that left Flow still thinking that `anchor`, `fetching`, etc. could be
missing because they could in `OuterProps`.  This is much better than
not having types, though.

Also, because `connectActionSheet` lacks a type annotation, the
relationship *between* `OuterProps` and `Props`, and the code that
(*ahem*) connects them, isn't checked.  That'd be good to fix.

We abuse this `Props` type in a lot of places where we really mean
some other type that merely overlaps, and that contributes to some
mysteries still to be resolved here.  I cleared up one --
`highlightUnreadMessages` just never appears in something claiming to
use this type -- but a few others are marked with comments.

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