setLayoutParams() now guards against incompatible types.

The big layout classes fail when setLayoutParams() is called with a
incompatible layout params type. Rather than finding this out at runtime
I've updated ShadowView.setLayoutParams() so that it fails if known
LayoutParam type rules are broken.

This improves safety in the following layouts:
* RelativeLayout
* LinearLayout
* FrameLayout
* AbsoluteLayout