Fix bug computing conv output shapes.

* CONV_2D should invoke the dilation overload to calculate explicit padding.

* CONV_2D and DEPTHWISE_CONV_2D should use the effective filter size to
  check againt padding.

* Resolve the ambiguous shape issue in TRANSPOSE_CONV_2D when stride > 1.
  calculateExplicitPadding will produce the tightest padding_tail (might < 0).

Also create unit tests. The tests were failing before this change.

Fixes: 130357330
Test: NeuralNetworksTest_static
Change-Id: Ie7205f3d10fb7c50f630009d10a824e71815be9b
Merged-In: Ie7205f3d10fb7c50f630009d10a824e71815be9b
(cherry picked from commit 41fe2772633edcea73e04a48d858ba8f0c6de981)
15 files changed