Fundamental limits of coded caching with multiple antennas, shared caches and uncoded prefetching