Add an alternative version of functor composition

Also make a folder for functorial functor composition
Prove that pre-comp w/ an ess. surj. functor is ess. surj

Or, without abbreviations, prove that precomposition with an
essentially surjective functor is essentially surjective.

After    | File Name                                                | Before
------------------------------------------------------------------------------
9m17.27s | Total                                                    | 9m04.57s
------------------------------------------------------------------------------
1m44.82s | categories/Comma/ProjectionFunctors                      | 1m45.77s
0m32.53s | categories/Adjoint/Composition/AssociativityLaw          | 0m33.05s
0m25.52s | categories/Grothendieck/PseudofunctorToCat               | 0m24.25s
0m21.06s | categories/Adjoint/HomCoercions                          | 0m21.73s
0m16.94s | categories/Adjoint/UnitCounitCoercions                   | 0m17.18s
0m16.81s | categories/ExponentialLaws/Law4/Functors                 | 0m17.10s
0m16.74s | categories/Comma/InducedFunctors                         | 0m15.32s
0m15.85s | categories/FunctorCategory/Dual                          | 0m15.28s
0m12.75s | categories/Functor/Pointwise/Properties                  | 0m12.33s
0m12.70s | categories/Pseudofunctor/Core                            | 0m12.00s
0m12.68s | hit/Flattening                                           | 0m12.88s
0m12.13s | categories/Adjoint/Composition/Core                      | 0m11.92s
0m11.91s | categories/Pseudofunctor/FromFunctor                     | 0m11.10s
0m11.91s | categories/Adjoint/Dual                                  | 0m11.42s
0m10.41s | categories/Adjoint/Composition/IdentityLaws              | 0m10.59s
0m09.62s | categories/Yoneda                                        | 0m07.92s
0m09.62s | categories/ExponentialLaws/Law1/Law                      | 0m08.25s
0m08.93s | categories/UniversalProperties                           | 0m07.24s
0m07.85s | categories/Functor/Prod/Universal                        | 0m08.17s
0m07.69s | categories/GroupoidCategory/Morphisms                    | 0m08.25s
0m07.51s | categories/Comma/Dual                                    | 0m06.44s
0m07.51s | hit/Connectedness                                        | 0m07.15s
0m06.72s | categories/Adjoint/Paths                                 | 0m06.10s
0m06.23s | categories/Structure/IdentityPrinciple                   | 0m06.86s
0m05.82s | categories/Functor/Sum                                   | 0m05.71s
0m05.78s | categories/Functor/Paths                                 | 0m05.76s
0m05.57s | categories/Category/Morphisms                            | 0m05.96s
0m05.51s | categories/Adjoint/UnitCounit                            | 0m05.86s
0m05.36s | categories/DualFunctor                                   | 0m04.67s
0m05.19s | EquivalenceVarieties                                     | 0m05.75s
0m04.82s | categories/ExponentialLaws/Law2/Functors                 | 0m04.82s
0m04.54s | categories/Category/Sigma/OnMorphisms                    | 0m04.36s
0m03.92s | categories/Functor/Prod/Functorial                       | 0m02.82s
0m03.67s | categories/ProductLaws                                   | 0m03.68s
0m03.67s | categories/Structure/Core                                | 0m03.56s
0m03.50s | types/ObjectClassifier                                   | 0m03.53s
0m02.94s | types/Sigma                                              | 0m03.11s
0m02.91s | HSet                                                     | 0m02.92s
0m02.88s | categories/Functor/Composition/Functorial/Attributes     |   N/A
0m02.80s | categories/Adjoint/UniversalMorphisms                    | 0m02.85s
0m02.74s | HProp                                                    | 0m02.72s
0m02.60s | categories/Grothendieck/ToSet                            | 0m02.50s
0m02.58s | Equivalences                                             | 0m02.53s
0m02.52s | categories/FunctorCategory/Functorial                    | 0m02.56s
0m02.26s | categories/Functor/Attributes                            | 0m02.19s
0m02.22s | categories/Category/Sum                                  | 0m02.18s
0m02.17s | categories/Comma/Core                                    | 0m02.00s
0m02.11s | categories/NaturalTransformation/Isomorphisms            | 0m01.87s
0m02.05s | categories/Category/Sigma/Core                           | 0m01.99s
0m02.04s | PathGroupoids                                            | 0m01.96s
0m01.89s | types/Record                                             | 0m01.95s
0m01.85s | categories/NaturalTransformation/Dual                    | 0m01.90s
0m01.78s | categories/HomFunctor                                    | 0m01.73s
0m01.66s | categories/FunctorCategory/Morphisms                     | 0m01.73s
0m01.58s | categories/NaturalTransformation/Paths                   | 0m01.61s
0m01.44s | categories/Functor/Composition/Functorial/Core           | 0m01.14s
0m01.38s | categories/NaturalTransformation/Pointwise               | 0m01.38s
0m01.35s | categories/Category/Sigma/OnObjects                      | 0m01.32s
0m01.27s | types/Prod                                               | 0m01.30s
0m01.27s | categories/Category/Prod                                 | 0m01.31s
0m01.20s | categories/Limits/Core                                   | 0m01.17s
0m01.16s | categories/NaturalTransformation/Composition/Laws        | 0m01.14s
0m01.11s | categories/Functor/Pointwise                             | 0m01.07s
0m01.09s | categories/CategoryOfSections/Core                       | 0m00.98s
0m01.04s | categories/ExponentialLaws/Law1/Functors                 | 0m01.00s
0m00.96s | categories/ExponentialLaws/Law  N/A                      | 0m00.99s
0m00.92s | categories/NaturalTransformation/Prod                    | 0m00.95s
0m00.91s | contrib/HoTTBookExercises                                | 0m00.94s
0m00.90s | hit/Spheres                                              | 0m00.85s
0m00.86s | categories/SetCategory/Morphisms                         | 0m00.79s
0m00.86s | categories/Functor/Prod                                  | 0m01.06s
0m00.83s | hit/epi                                                  | 0m00.90s
0m00.82s | types/Paths                                              | 0m00.82s
0m00.67s | contrib/HoTTBook                                         | 0m00.60s
0m00.66s | categories/NaturalTransformation/Composition/Core        | 0m00.67s
0m00.62s | types/Universe                                           | 0m00.72s
0m00.61s | categories/InitialTerminalCategory                       | 0m00.65s
0m00.60s | types/Sum                                                | 0m00.60s
0m00.60s | UnivalenceImpliesFunext                                  | 0m00.67s
0m00.60s | Trunc                                                    | 0m00.62s
0m00.59s | hit/Suspension                                           | 0m00.57s
0m00.58s | categories/categories                                    | 0m00.57s
0m00.58s | categories/Comma/Projection                              | 0m00.54s
0m00.54s | hit/Circle                                               | 0m00.64s
0m00.54s | hit/quotient                                             | 0m00.56s
0m00.53s | Functorish                                               | 0m00.57s
0m00.51s | categories/Limits/Functors                               | 0m00.48s
0m00.51s | categories/NaturalTransformation/Sum                     | 0m00.54s
0m00.50s | Tactics                                                  | 0m00.40s
0m00.49s | categories/KanExtensions/Functors                        | 0m00.45s
0m00.48s | categories/ExponentialLaws/Law3/Functors                 | 0m00.46s
0m00.48s | categories/Functor/Composition/Laws                      | 0m00.47s
0m00.46s | types/Forall                                             | 0m00.44s
0m00.41s | categories/NaturalTransformation/Identity                | 0m00.40s
0m00.40s | categories/Cat/Core                                      | 0m00.43s
0m00.37s | Fibrations                                               | 0m00.41s
0m00.36s | categories/HomotopyPreCategory                           | 0m00.31s
0m00.36s | categories/Functor/Functor                               | 0m00.28s
0m00.36s | categories/NaturalTransformation/Composition/Functorial  | 0m00.27s
0m00.34s | TruncType                                                | 0m00.37s
0m00.33s | categories/FundamentalPreGroupoidCategory                | 0m00.31s
0m00.33s | categories/KanExtensions/Core                            | 0m00.34s
0m00.31s | categories/Functor/Dual                                  | 0m00.36s
0m00.30s | categories/IndiscreteCategory                            | 0m00.28s
0m00.30s | types/Arrow                                              | 0m00.26s
0m00.30s | categories/Cat/Morphisms                                 | 0m00.29s
0m00.30s | categories/Grothendieck/Grothendieck                     | 0m00.29s
0m00.28s | categories/ExponentialLaws/ExponentialLaws               | 0m00.26s
0m00.28s | hit/minus1Trunc                                          | 0m00.26s
0m00.27s | categories/Functor/Composition/Core                      | 0m00.26s
0m00.27s | categories/Adjoint/Adjoint                               | 0m00.24s
0m00.26s | categories/SetCategory/Functors/Functors                 | 0m00.23s
0m00.26s | categories/Notations                                     | 0m00.22s
0m00.25s | categories/Utf8                                          | 0m00.26s
0m00.23s | categories/Adjoint/Hom                                   | 0m00.22s
0m00.23s | categories/NaturalTransformation/Notations               | 0m00.18s
0m00.22s | categories/Category/Objects                              | 0m00.26s
0m00.21s | types/Bool                                               | 0m00.19s
0m00.20s | categories/DependentProduct                              | 0m00.18s
0m00.20s | categories/Limits/Limits                                 | 0m00.20s
0m00.20s | categories/Functor/Prod/Prod                             | 0m00.18s
0m00.20s | categories/Functor/Composition/Composition               | 0m00.18s
0m00.20s | categories/Grothendieck/ToCat                            | 0m00.23s
0m00.20s | categories/GroupoidCategory/Core                         | 0m00.14s
0m00.20s | categories/NatCategory                                   | 0m00.16s
0m00.19s | categories/Functor/Notations                             | 0m00.20s
0m00.19s | categories/ExponentialLaws/Law2/Law2                     | 0m00.14s
0m00.18s | categories/Comma/Utf8                                    | 0m00.14s
0m00.18s | categories/KanExtensions/KanExtensions                   | 0m00.18s
0m00.18s | categories/NaturalTransformation/NaturalTransformation   | 0m00.18s
0m00.18s | categories/FunctorCategory/Utf8                          | 0m00.22s
0m00.18s | hit/iso                                                  | 0m00.16s
0m00.18s | categories/Adjoint/Identity                              | 0m00.15s
0m00.18s | categories/Comma/Comma                                   | 0m00.23s
0m00.18s | categories/Comma/Notations                               | 0m00.15s
0m00.18s | categories/FunctorCategory/Core                          | 0m00.18s
0m00.17s | categories/Functor/Composition/Functorial                | 0m00.19s
0m00.17s | categories/FunctorCategory/FunctorCategory               | 0m00.20s
0m00.17s | categories/Adjoint/Composition/Composition               | 0m00.16s
0m00.17s | categories/Functor/Utf8                                  | 0m00.21s
0m00.17s | categories/Pseudofunctor/Pseudofunctor                   | 0m00.16s
0m00.16s | Conjugation                                              | 0m00.20s
0m00.16s | categories/Adjoint/Core                                  | 0m00.10s
0m00.16s | categories/Profunctor/Core                               | 0m00.11s
0m00.16s | HoTT                                                     | 0m00.18s
0m00.16s | categories/Category/Dual                                 | 0m00.15s
0m00.16s | hit/unique_choice                                        | 0m00.18s
0m00.16s | categories/Profunctor/Profunctor                         | 0m00.14s
0m00.16s | Modality                                                 | 0m00.20s
0m00.16s | FunextVarieties                                          | 0m00.20s
0m00.16s | categories/Profunctor/Identity                           | 0m00.13s
0m00.16s | categories/NaturalTransformation/Utf8                    | 0m00.20s
0m00.15s | categories/Profunctor/Representable                      | 0m00.16s
0m00.15s | categories/Adjoint/Utf8                                  | 0m00.13s
0m00.15s | categories/Cat/Cat                                       | 0m00.17s
0m00.15s | categories/SetCategory/Core                              | 0m00.15s
0m00.15s | categories/Adjoint/Notations                             | 0m00.18s
0m00.15s | categories/NaturalTransformation/Core                    | 0m00.13s
0m00.15s | types/Unit                                               | 0m00.11s
0m00.14s | categories/DiscreteCategory                              | 0m00.12s
0m00.14s | categories/Category/Category                             | 0m00.18s
0m00.14s | categories/Category/Sigma/Sigma                          | 0m00.15s
0m00.14s | Overture                                                 | 0m00.20s
0m00.13s | categories/Profunctor/Notations                          | 0m00.12s
0m00.13s | Misc                                                     | 0m00.14s
0m00.13s | categories/Structure/Notations                           | 0m00.12s
0m00.13s | categories/Category/Core                                 | 0m00.13s
0m00.13s | categories/SetCategory/SetCategory                       | 0m00.13s
0m00.13s | UnivalenceAxiom                                          | 0m00.10s
0m00.13s | categories/ExponentialLaws/Law1/Law1                     | 0m00.16s
0m00.13s | categories/Functor/Pointwise/Pointwise                   | 0m00.09s
0m00.13s | categories/Adjoint/Composition/LawsTactic                | 0m00.11s
0m00.13s | categories/CategoryOfSections/CategoryOfSections         | 0m00.12s
0m00.12s | categories/ExponentialLaws/Law3/Law3                     | 0m00.14s
0m00.12s | categories/Structure/Structure                           | 0m00.12s
0m00.12s | categories/Category/Univalent                            | 0m00.14s
0m00.12s | hit/TwoSphere                                            | 0m00.10s
0m00.12s | categories/Category/Notations                            | 0m00.12s
0m00.12s | categories/FunctorCategory/Notations                     | 0m00.11s
0m00.12s | hit/Truncations                                          | 0m00.14s
0m00.11s | categories/GroupoidCategory/GroupoidCategory             | 0m00.10s
0m00.11s | Contractible                                             | 0m00.09s
0m00.11s | hit/Interval                                             | 0m00.14s
0m00.11s | coq/Init/Peano                                           | 0m00.10s
0m00.11s | categories/Functor/Core                                  | 0m00.10s
0m00.11s | categories/Category/Subcategory/Wide                     | 0m00.13s
0m00.11s | categories/Profunctor/Utf8                               | 0m00.12s
0m00.10s | categories/NaturalTransformation/Composition/Composition | 0m00.11s
0m00.10s | categories/Category/Subcategory/Full                     | 0m00.11s
0m00.10s | categories/Structure/Utf8                                | 0m00.10s
0m00.09s | categories/Category/Utf8                                 | 0m00.11s
0m00.09s | categories/ExponentialLaws/Law4/Law4                     | 0m00.11s
0m00.08s | categories/Functor/Identity                              | 0m00.09s
0m00.08s | Pointed                                                  | 0m00.08s
0m00.08s | FunextAxiom                                              | 0m00.06s
0m00.07s | coq/Init/Specif                                          | 0m00.06s
0m00.07s | categories/Category/Subcategory/Subcategory              | 0m00.12s
0m00.07s | types/Empty                                              | 0m00.07s
0m00.06s | coq/Init/Datatypes                                       | 0m00.06s
0m00.06s | categories/Category/Strict                               | 0m00.09s
0m00.06s | coq/Program/Tactics                                      | 0m00.06s
0m00.05s | types/UniverseLevel                                      | 0m00.07s
0m00.05s | coq/Init/Logic_Type                                      | 0m00.07s
0m00.03s | coq/Bool/Bool                                            | 0m00.03s
0m00.02s | coq/Init/Notations                                       | 0m00.02s
0m00.02s | coq/Init/Logic                                           | 0m00.03s
0m00.02s | coq/Init/Prelude                                         | 0m00.04s
0m00.02s | coq/Init/Tactics                                         | 0m00.03s
Merge pull request #378 from JasonGross/precomp-ess-surj

Prove that precomposition with an essentially surjective functor is essentially surjective.