Add semi rules based splitting, tests

Basic strategy right now is to split the file into a lines, then split those
lines back down into 'words'. If the word still has some symbols in it, that
might need to be split, split further.

Need to add tests for several of the new functions
add init for rel import