move strutil functions and node parse-related functions into ProgramText
refactor ProgramText to not suck so much
Change license to GPLv3. Update list of dependencies and list license information in README.