doc - Add document explaining notary API

Its easier to read this than read through the code.
Notes:
  - Any time the notary software doesn't behave like the doc spec says it should, that's a bug
  - Obviously we should keep this document up-to-date if the API changes