Initial Commit of Version 4

TODO:

3.2 needs a UML diagram

at the moment the doc assumes Twitter was a failure, update if that
changes

Fix the table of contents so it accurately represents the final product

Expand the section on testing