[MLIR] Refactor affine tilePerfectlyNestedLoops to drop validity check
The affine loop utility `tilePerfectlyNestedLoops` was checking for the
validity of tiling as well as performing the tiling. This is
inconsistent with how other similar utilities work. Move out the
analysis/check from the utility so that the latter only performs the
mechanics of IR manipulation.
This is NFC/pure move beyond the change in behavior of
tilePerfectlyNestedLoops.
Differential Revision: https://reviews.llvm.org/D147055