Luis Castillo agrees to huge contract extension with Mariners