Some lemmas about commutative squares.

I thought these would be used in more places, but I only found one.
Merge pull request #580 from mikeshulman/commsq

Some lemmas about commutative squares.
most of the stuff in Basics/Fibrations is subsumed by Types/Sigma
move NullHomotopy into its own file
Merge pull request #581 from mikeshulman/fibrations

most of the stuff in Basics/Fibrations is subsumed by Types/Sigma
Merge pull request #582 from mikeshulman/nullhomotopy

move NullHomotopy into its own file
use `open_constr` in `simpl rewrite`
`simpl rewrite` with `Arguments` solves the rewrite problems in Factorization
uniformize implicit arguments for *_equiv and *_homotopic
also uniformize inO_equiv_inO
Merge pull request #584 from mikeshulman/implicits

uniformize some implicit arguments
add comments about Set Debug Tactic Unification
Use records, not typeclasses, for subuniverses and modalities
Merge pull request #583 from mikeshulman/rewrites

'simpl rewrite' can solve the problems in Factorization
Merge pull request #585 from mikeshulman/modalrecords

Use records, not typeclasses, for subuniverses and modalities
Merge remote-tracking branch 'upstream/master'