Android: Changes to sdcard patch Addresses #2426

As suggested by mobidevelop and a few others on IRC, this is what we've
come up
Technical Changes:
- We now check if the legacy behavior is writeable, and use that. (Some
samsung devices running 4.4 have not implemented these changes.)
- If the legacy behavior is not  writeable, we allow read-only access to
the sd-card files, and if they don't exists, they are created using the
new external storage APIs
- Replaced all this.file calls in FileHandle and AndroidFileHandle to
file()