Cap limiting oil leak, restoring Gulf could take years