Crystal Palace sign midfielder Cheikhou Kouyate from Premier League rivals West Ham on a four-year deal for an undisclosed fee.