Moving to tokenize

Tests pass.  Some of the stuff I changed might need refactoring.
@bifodus We should still pass `err` to `done()` here.  That way if there was an error the test will fail.