Adding testing support (Junit) and some basic mock and testing - trying to get code testable.

Add more detailed error handling for remote sync for fixing https://github.com/ajaxplorer/ajaxplorer-sync/issues/33 bug. Right now sync process affects accessed file again after error occuring.
Added new table for synclog details.
Add more details to sync log - this will be helpful later for UI information for user about sync errors.
Implementing issue /23 - adding setting to configuration with auto keeping remote files when direction set to download only
Remove unwanted FIXME comments
Additional option for keeping local files automatically.
Change preferences panel so user can choose between keep remote and keep local.
Trying solution for deltas computation based on DB access (querying db for files during delta computation)
Bad idea...
Revert "Trying solution for deltas computation based on DB access (querying db for files during delta computation)"

This reverts commit d988fb6436273edf7c8b9c22690f0e3102cd036a.
Replace pure java TreeMap with mapdb
Add support of mapDB for deltas computing. Replace all pure Map structures with mapDB implementation.
Remove dependency on mapDB project - adding pom.xml dependency is enough :)
Revert "Remove dependency on mapDB project - adding pom.xml dependency is enough :)"

This reverts commit e86b9181913d97c24a5237030f3dd1822be48d0f.
Change takeRemoteSnapshot to use Stream/File and SAX Parser instead of jdom/Document for building remote node tree.
Fixing of broken synchronisation.
Applying input stream/file parsing of remote tree to nodes structure.
ehcache impl - there are errorrs!
Implement IEhcachListDeterminant for key computation
Change configuration of ehcache to pin all files - to not evict any data.
update Unittests
Adding some breath to CPU during main sync job
Add missing comments
SAXParse remote XML nodes directly from stream without saving to temp file
Set up chunk size for upload task. 16K is good performance with upload