Journal Implementation and Minor Tweaks

This pull requests addresses four different topics:

* Revisions to protocol.md based on review by Jim Williamson [a60d5ed]
* Update to AdjIn filters pseudocode to reflect uShare/Engine [79ca45d]
* Add ISO 8601 timestamp to attributes [8c8cb6c]
* Modify attribute generation to be squashed from a journal [aecf68e]

The most significant change here is definitely the modification of attribute generation to be squashed from a journal, namely of the process:

1. Select the `original` structure
2. Sequentially walk the `journal` and change attributes based on each journal entry

In the future, we may extend the behavior here to allow for custom treatment of journaled attributes, rather than just straight rewrites, as well as allow the user to stipulate how conflict resolution should occur between a branch in attributes.

/CC @edsakabu for review