Added TestSuite and changed some code

- [NEW] added gitignore file
- [NEW] added test case application based on CppUnit
- [CHANGE] changed source code structure in some library modules