Initial commit. Basic grammar fleshed out and tested. Performs badly (i.e. exponential time with every Rule added)