RDP

This is the most dirty code in the world. I'll begin writing tests soon. The testing relies heavily on NFAOperations working, so it currently just prints things out. Once it works, I'll clean this up probably.