Robinson Cano and Mariners finalize huge contract