copy file to local cache on open

and return a FD pointing to the cached file.
changed filesystem api.
move util classes.
change DocumentProvider file access interfaces.

use InputStream interface to access FAT32 files.
use Apache Commons IO utils to copy files to local cache on open.
cleanup.
delete the cache file if the transfer was unsuccessful.
CacheDir won't change during runtime. thus needs to be determined only once.

Conflicts:
	app/src/main/java/net/alphadev/usbstorage/DocumentProviderImpl.java
cleanup.

fixed some lint warnings.
simplify FAT32 ReadingFileHandle.
fixed error where we would endlessly write 0-values to cache dir because the file reference contained a null value.
set the buffer limit to the rest size of the last chunk.
funnel the inputstream through the filedescriptor instead of writing to local storage.
Merge branch 'feature/issue-48-provider-read' into dev

Implemented READ from generic FS.
fixes #48.