Currently, the identification of a base module M with M.tensor_module(1, 0) and M.exterior_power(1) is implemented in FiniteRankFreeModule.__init__ but the identification of M.base_ring() with M.exterior_power(0) is implemented in exterior_power.
In this ticket, we move all identifications to the methods tensor_module, exterior_power, dual_exterior_power.
We also rewrite these methods in try/except style.
Depends on #30250
Depends on #30254
CC: @egourgoulhon @tscrim @mjungmath
Component: linear algebra
Author: Matthias Koeppe
Branch/Commit: c035d06
Reviewer: Michael Jung
Issue created by migration from https://trac.sagemath.org/ticket/30255