Move lines/2 implementation to a separate file

The implementation will soon grow.  I want to make it clear which
predicates are in the supporting cast and which are meant for public
consumption.  I may refactor again to use a module.