Validates node name and throws parse error if not valid

Fixes #5
Added tech tree file for future testing