gh-37670: Make matroid `copy` and `deepcopy` simply return `self`
I abstracted all `copy`/`deepcopy` subclass implementations to a generic
one in the main matroid class (in `matroid.pyx`).
I am unsure as to whether something of value is lost with this change
(e.g. relating to the manual `memo` passing in `deepcopy`).
This follows a recommendation by @mkoeppe made in
https://github.com/sagemath/sage/pull/37340#discussion_r1537110548.
### ⌛ Dependencies
* Depends on #37667
URL: https://github.com/sagemath/sage/pull/37670
Reported by: gmou3
Reviewer(s): Matthias Köppe