split category.lean in different files

Added a lot of stuff in the category library.

- Constructions: The slice functor, discrete categories
- More theorems about isos, isomorphism between objects is an equivalence relation
- Beginnings for limits and the Yoneda lemma