Add KDevelop 4 files to .gitignore
Documentation improvement and copyright update
Improve unit test by splitting the code to test from the tests themselves

- Also add more tests
- Change the behavior of the function to test