Improve syntax errors when parsing pflang

The errors that the pflang parser produces are somewhat cryptic, and should be improved.  At the minimum there should be source location information.
Better to add a local function error_string to build up and return the string, and have the error() function actually call the primitive error() function with the string as the argument.