major code refactoring

@DamnWidget 

I have changed the way to set up different test directory. It allows user to use different directory on travis and appveyor.

Details: https://github.com/randy3k/UnitTesting-example#use-a-different-test-directory