update core documentation and test cases

Documentation written for each core class.
Rewrite documentation for updated methods.
Add test cases for core classes (mostly Folder and Movie classes).
Resolve compilation warnings for test project compilation.