array: add mongoc_array_t for power of 2 growing array.

This will be used in a few places to make alloca() code a bit safer
so we don't need to worry about stack overflows.

For example, with the new RPC packet parsing/generation code coming, this
will allow for struct iovec to be added to the array before being sent to
the destination socket. Doing so will clean up pipelining of RPCs.