Code format, copyright headers and comments

During the code review I performed some small tasks on every file (but not for tests):

- Code formating 
- Add copyright headers to every file
- Added some comments
- Remove unnecessary constructors and fixed some minor code glitches
This will result in error as we have build recursive tree. The reason is the observable list that fires events.

The call to buildChildren was here on purpose.