Status tracks revision numbers on a per-node basis.

This is a fundamental change. Revision numbers (used for interdevice
synchronization) are now tracked on a per-node basis. Updates are
legal if that match the revision of the node you are updating, or any
of it's parents. This means if a section of the status unrelated to a
client is updated, it doesn't block the ability of that client to do
it's own update.

Also added a config file used by PyCharm (used to help debug this).