Refactor the directory and the document

0. Include all open PRs (except @markkness 's)
1. Pull most things into the top level- it's all document
2. Make a `tests` directory and put the tests in there
3. Organize the document into three main sections: 1) Protocol  2) Examples 3) Appendix (with utils.py in it right now)

I don't think I've ended up changing Mark's `example.rst` file (yet).