Fix bug in DialogFragment.findInstance

Line:
ft.putFragment(fragment.getArguments(), tag, fragment);

putFragment puts the fragment state in to a bundle for restoration later. This is not necessary, and is not possible before the fragment has been added to the fragment manager. If it is called before the fragment is added an exception is thrown.

Add method DialogFragment.findInstance(FragmentManager fm, Class<T> clazz, boolean makeIfNeed)

Allows use of child fragment manager.