api: initialize capacity in the array_dict_macro
api: Implement `vim_report_error` function

This function is used to report errors caused by remote functions called by
channel_send_call
fixes to api_spawn(squash into @acf17dbe)
fixes to python_setup.vim(squash into @a2b98035)
fixes to api/buffer.c(squash into @efa9d44c)
fixes to api/helpers(squash into @d61d851)
fixes to api/window.c (squash into @0265e60)
fixes to main.c (squash into @7c90700e)
fixes to provider.c (squash into @f8ef29be)