Android: Allow sdcard to be mounted after app init

Addresses concerns in #2459
Technical Description:
- If the SD card becomes available for writing after the app is
launched, it will now be used
- getExternalStoragePath() now returns the app-specific directory
location on the external storage.
- If the external storage is not available when a call is made to it, a
GdxRuntimeException is now thrown to prevent invalid files from being
created.