[CB-2418] Fix geolocation's velocity field broken on Android
Adding workaround for ICS asset URLs with spaces
CB-2668: Thanks for supplying a patch, but please make sure it actually builds.
[CB-1933] Changed button labels to an array.

This allows commas to be included in button label text.
Use pushd/popd instead of subshell

Improves the error message that happens when ant is not installed.
[CB-2435] Split common methods out of FileUtils into FileHelpers

Also included in this change:
- Fixed getMimeType for content:// URIs.
- Made getRealPath take a URI string.
- Added basic android_asset handling.
There is no such thing as a "real path" for a file:///android_asset URI.  However, it is possible to get an input stream to one.

And even more minor changes:
- removed unused FileReader/FileWriter instance variables
- added logging when getRealPath fails
- fixed indentation issues
- removed a try/catch in favor of throwing
- removed a null check in favor of throwing
- moved getEntry back to FilePlugin