Implement complex MatrixPowerTriangular. There are still problems with real one.

--HG--
extra : transplant_source : %DD%C83/%91c%FC%A1u%89%BBBq%068%F0%9B%2A%14%B0
Avoid Schur decomposition on (quasi-)triangular matrices. (Huge speed up!)

--HG--
extra : transplant_source : %BB%0A%03lL7%2B%876%DA%3E6%87%A2%B2%BD%EE%B3%83%2A
Add test for real MatrixPowerTriangular.

--HG--
extra : transplant_source : %90%D2%BF%1C%E0d%5E%F6%22%8B%1F%CA%8F%E3%D8%DB%BC%D9%7Fv
Make better decision on PartialPivLU vs inverse(): We have specialized inverse() only for FIXED matrices.

--HG--
extra : transplant_source : y%1C%DE%22%1A%ED%05%3C%B4%E0%E9%1A%DC%8D%EE%84%9F%97%AA%E1
Make use of TRMM (speed up), and remove useless condition (the triangular don't need LU)

--HG--
extra : transplant_source : %16bN%1953%D0%19%A6%CC%F2%DE%85y%BD%0B%07%8E%1C%FD
Use simplified return type, trying to work around MSVC.

--HG--
extra : transplant_source : eR%81P%D3%A5%0A%8D%84b8%12%C7%ACz%93%7D%D0%1E%AD
Make MatrixPowerTriangularAtomic::computePade static because it should be.

--HG--
extra : transplant_source : _%BA%8D%88%0DB%E5%1A%17%C71%86%F8e%A9DZ%E7%D23
Just tidy up: no need to specify template parameters inside class body.

--HG--
extra : transplant_source : %92yw%02%84%7CE%B3f%05k%1F%92%EE%E2B%E6%18%3C%60
Use the nested type instead of const reference

--HG--
extra : transplant_source : %E6%BC%18%0Dl%D0%CB%9F8%2B%8CE%9F%E7%08%A1%9D%D8J%C1
Simplify traits<MatrixPowerProduct>: StorageKind must be Dense because MatrixPowerProduct is derived from MatrixBase.

--HG--
extra : transplant_source : %A9i%8EU%C6_U%DF%CCW%FB%C8%B7M%C6u%C4%81%15%E0
Remove unused typedef (traits<MatrixPowerProduct>::PlainObject) for brevity.

--HG--
extra : transplant_source : %AE%AA%DFt%5E%7D%7C1i%07%0B%A9%23%9C%98%8F%A5V%18%CE
I think it's OK to let XprHelper.h determine the nested type.

--HG--
extra : transplant_source : %BA%87%5B%ECF%E6%A1%EC%FA%04%A0%83%8E%97%7F%EBv%8A%98%21