A bit of code cleanup
Implement flexible identifier naming

Now 'hello-world', '+', '=>' and even '1488ziga' are all valid
identiifers.
Add .gitignore file
Add unittests infrastructure and a few test cases