specialize promote_shape for (Int, Int) and (Int, Int)

Originally, there are specialized versions for 
* (Int,) and (Int,)
* (Int, Int) and (Int,)
* (Int,) and (Int, Int)

I add (Int, Int) and (Int, Int) here, which is of very common use and worth specializing.