DownloadProvider: fix the crash when rotate screen.

TrampolineActivity will be recreated when rotate screen,
then the fragment is currently associated with any Activity.
So getActivity() will return a null and caused NullPointerException.

Add the null check before call finish().

CRs-Fixed: 640914

Change-Id: I76f368a597552e824d533b6a66ea23fad4c0cb41
DownloadProvider: add to support download into sdcard storage

When insert into downloads database to start a new download,
will check file uri destination is valid or not, currently it
only support phone storage downloading, what we do is to add
supporting sdcard storage downloading, this will make download
save path setting feature work well.

Change-Id: I7995ae63ec5769103d7ad66bcd677e383ef7f440
DownloadProvider: Create and implement DialogDismissListener.

  - Better way to dismiss a host activity then explicitly calling
  getActivity() finish().

Change-Id: I121fb63d2d57c6c4b22abac2389d5c3d5ccad6e4

Conflicts:
	ui/src/com/android/providers/downloads/ui/TrampolineActivity.java
DownloadProvider: Check if the device actually supports second storage.

Change-Id: I78297ca235e058aecfd0ff5a0e990fc3004b4c77