Cleanup: Update docs. Remove old function.
Code cleanup and refactoring

* Renamed a function, made it static
* Added and changed comments
Add documentation
Change definition of parseHelper to be static

Also remove unused variable
Actually remove all of tests/bin

It will be created as part of the `build` step.
Fix memory leak - free line buffer
Fix memory leak - forgot to free children list
Cleanup - fix typo, remove debug line
Allocate a new tree with tree_new, not manually
Refactor for efficiency and code reuse

* Rewrite `tree_new` to have a default symbol
* Make the `children` array resize by doubling. This means adding a counter
for the number of available slots for children, called `child_slots`
Add comments to hashmap
Add .gitignore

* Ignore swapfiles
* Ignore directory for compiled test binaries