Normalised io functions to have an xxx1 version to return an iolist
Move DCG code and predicates to separate module