Split refactor

Split out file comparison utilities and peg parser utilities to other modules.

Removed dual synchronous/asynchronous code and experimental compiler. Doctor is only asynchronous now.