Added some additional documentation for partial evaluation

I have tried documenting the partial evaluation module in order to aid my understanding of it.
 Hopefully, my documentation would help other people understand it (and not be totally misleading).