added preconditions to protocol functions and to record constructors, updated fake content to work with protocols
reverting unintentional deletes
Merge pull request #615 from AdamSaleh/fake-content-preconditions

Preconditions and fake-content