Clean up temporary files and avoid saving to SD card if possible.

We don't need to write the image data to the FS if using our
customer overlay activity IF the user does not want it saved
to the photo gallery.
Allow creating temporary files which are destroyed on exit.
Added focus and quality control to camera
TIMOB-9285 Implement another approach to confronting Android bug 2373/5277:

* New tiapp.xml property: ti.android.bug2373.finishfalseroot. We can't just gut the existing behavior, so a new option really was necessary.

* If an Titanium developer sets ti.android.bug2373.finishfalseroot to true, then:

* * Play Store launches (and other launches coming directly from the installer) will occur without interruptions (no message to restart.)

* * If user then puts the app in the background and later goes back to it via the application menu (the steps which would exhibit 2373 behavior), the newly-created (unwanted) TiLaunchActivity will recognize it is not the task root (isTaskRoot() == false) and finish itself immediately. I.e., it'll just go away before it has a chance to display anything, and meanwhile the application -- with its activity stack still in place -- will have come forward.

The goal here being that with this new option the user shouldn't notice *anything*.
TIMOB-9285 Because Honeycomb and greater Android versions set new intent flags when launching from history, take those into consideration when determining whether to show the Android bug 2373 warnings.
TIMOB-9285 Refactor common code between TiLaunchActivity and TiRootActivity
TIMOB-9285 Don't disallow second launch of 'launch' activity when it's not trying to be launched as a launch activity. Verstehst?
TIMOB-9825 Cleanup the intent flags checking per code review comment.
Allow choosing optimal photo size
Merged 2_1_2_trabian