Throw an exception before creating bad child fragment manager.

Bug 34183840

When accessing a fragment's child fragment manager prior to
its being attached, it will forever be in a bad state. This
CL throws an exception when that happens to warn the developer
not to do that.

The original bug came from a restored fragment listed in "active"
having its child fragment manager being accessed. The restored
fragment may not have been attached if it is only in the back
stack.

Test: gradlew connectedCheck in fragments/
Change-Id: I2304ab56bc72ae675c0cde0fc83dac6221ae615e
diff --git a/fragment/java/android/support/v4/app/Fragment.java b/fragment/java/android/support/v4/app/Fragment.java
index 881c2b4..06d0b1e 100644
--- a/fragment/java/android/support/v4/app/Fragment.java
+++ b/fragment/java/android/support/v4/app/Fragment.java
@@ -2150,6 +2150,9 @@
     }
 
     void instantiateChildFragmentManager() {
+        if (mHost == null) {
+            throw new IllegalStateException("Fragment has not been attached yet.");
+        }
         mChildFragmentManager = new FragmentManagerImpl();
         mChildFragmentManager.attachController(mHost, new FragmentContainer() {
             @Override