bump target API level

Storage Access Framework has API level 19
SeafCachedFile: add some more getter functions
AccountDbHelper: use given context

Previously the application context was used. However this class is also used
by the StorageProvider, which might be created before the application.
Therefore the first user has to provide the context for the singleton
instance.
DataManager: getFile() synchronized

This is a workaround. Some part in the Seafile file download code seems
to be not thread safe. To avoid problems, serialize the whole getFile() function.

The issue observed was that two mkdirs() on the same directory collided.
Add DocumentProvider implementation

This adds support for the Storage Access Framework, that had been introduced
with API level 19. On older devices the feature will automatically be disabled.

Supported features:
* browsing directories multiple accounts
* downloading files
* displaying thumbnails of cached files

Missing features:
* remeber recently used documents
* Uploading/Creating/Deleting files
* full thumbnail support (would likely require server side assistance)
Merge pull request #117 from forouher/feature/documentprovider

Add support for the Storage Access Framework
change sdk target to 19
fix incorrect imports
review
Merge pull request #172 from Logan676/feature/documentprovider

review source code from forouher/feature/documentprovider
code cleanup
update third party license
improve code style
fix fast directory browsing failed error #170
close #173
update travis configuration
update built APK version
Merge pull request #175 from Logan676/travis_ci

update travis configuration
refactor
Merge pull request #182 from Logan676/refactor

refactor