Parsed text

This puts all of those text parsing functions in a separate file.

I know the BBC commit will conflict with the lambda branch so I broke them down to small commits to make cherry picks easy