Palace sign ex-England defender Cahill