File class members are encapsulated, and internal lock was added.

A lock was added to the file class to properly handle multiple threads accessing the self encryptor. Actual chunk storage and incrementing is still a work in progress.

This technically completes JIRA ticket MAID-153 too.
The if-statement can be replaced by 

`length = std::min<std::uint32_t>(length, file_data_->self_encryptor_.size() - offset)`