SpaceX launches 46 Starlink satellites, lands rocket on drone ship