Make FileCache thread safe.
Refactors BinaryFileRef.

Methods renamed:

* set_source_file -> set_file
* iter_bytes_over_source_file -> iter_file
* get_file_object -> get_file
Adds some documentation and license.
Adds file cache to DiskBufferedReader.
Bumps version to 2.1