Implement tests for directory operations
Add check in removeDirectory for dir existence
Organizing code into packages
Build files in all package subdirectories
Fix include paths for packages

Also reorganized the headers so that they are in the form:

1. System headers
2. Package headers (alphabetized)
3. Other headers
Fix file endings
Organizing test files
Fixing include paths for test files
This information is also in the README
Improved README a bit
Add version 0.9.3 info to ChangeLog
Just a plain text file, no markdown
Always flush error log when completing report
Rename CharString functions to be more OOP-like
Use "self" convention for CharString
More OOP function names for BuildInfo
Python, OOP-ized ProgramOptions
Fix colored logging for test suite
Python, OOP-ize SampleBuffer
Add documentation