Using Software Stacks to Explain Complementarities: The Case of Mergers and Acquisitions in the Software Industry