Allowing user to drill down to details of each crime from list.

- Updating CrimeListFragment so that when the user clicks an item in the list, it will launch CrimeActivity via an explicit intent.
- This intent passes the ID of the selected crime in extra com.bignerdranch.android.criminalintent.crime_id.
- CrimeFragment accesses the data of its activity’s (CrimeActivity) intent using direct retrieval. Yes, this isn’t ideal because now this fragment is less reusable since it expects that it will always be hosted by an activity whose Intent defines this extra.
Updating CrimeFragment to determine crime ID from Arguments (instead of direct retrieval)

- Adding a static method newInstance() to CrimeFragment class to create fragment instance and bundle up (set its arguments). This is to ensure that attaching the arguments is done after the fragment is created but before it’s added to an activity!
- Updating host activity CrimeActivity to call this newInstance method when it creates a CrimeFragment (passing in the crime ID retrieved from its extra).
- Updating onCreate of CrimeFragment to access the current crime from its bundle.
Reload list of crimes after details changed.

- Adding onResume() to CrimeListFragment so that it tells the list to reload the list in case some changes have been made.