Initial restructuring for more modular approach
Rewrite functionalilty for grep
Move back most of the code to greper
Rewrite ag and ack with the new model
Merge branch 'restructure' into develop