Docs

Thought I'd try to write some docs, including a bit of a mammouth one for that final diff algorithm bit!