Support DB file prefetching

- When an existing DB file is opened, and there is enough space in
block cache, the DB file is prefetched to improve the performance
right after a cold start (such as rebooting).

- To maximize the efficiency, the prefetching logic sequentially reads
data from the end to the beginning of the DB file.

- Added one more field in fdb_config: 'prefetch_duration'. Prefetching
is aborted after the configured duration. If the duration is set to
zero, prefetching is disabled.

- Since prefetching is invoked only when there is enough free space
in block cache, it does not spoil the existing data in the cache.

Change-Id: Iea6e8301383299ea68a0b278abcf4af58d0b2ee8