Newcastle United have signed Allan Saint-Maximin for a reported fee of £16million.