Justin Houston signs with Colts for $24 million over two years