added pub_str_parser...

This pulls in some functionalities from offline/pub so that it doesn't need to link against symbols for which it doesn't have a header.

Eventually I'd like to make pub's yyparse reentrant and I need it to not be called by anything out of that repo so that I can change its signature.