Fixed FileBean.compareLastModifiedTime() issue.
Compared milliseconds in long instead of FileTime because there are precision errors when using FileTime. This makes clients unable to identify CreateJobs coming in that actually originated from them (same name, hash, and time modified).
Added toString() methods for FileRecord and ClientFileRecordManager.
Removed the calls to update the FileRecords through the ClientFileRecordManager.
Specifically removed from DirectoryListener, FileJob, and DeleteJob.
Made ClientFileRecordManager not singleton.
Directories are being passed in the constructor now. Each client now creates its own record manager. Also added code for saving the record on app shutdown.
Simplified the thread to be executed on app exit.
Local saving and loading of FileRecords verified to be working.
Created a JFrame for the client to be able to properly close it and trigger the file record saving.
What's left to do is to request the server's file records on startup and compare with the local record to generate the appropriate jobs.
Changed the parameters of ClientFileRecordComparator to be more compatible with what the server might return.
Renamed ClientFileRecordComparator to SharedFolderRecordComparator.
Reason is because the class actually compares a client's and a server's record of files in the shared folder. Hence, it does not operate only on client records.
Merge branch 'folder-record-integration' into dev