* Move ServerTimestamp into its own file
* Rewrite ServerTimestamp as a property wrapper
Add Swift4ServerTimestamp that behaves as before.
* Make ServerTimestampWrappable dictate timestamp conversion.
This makes the @ServerTimestamp property wrapper completely open to
extension by end users too.
* Rewrite FirestoreEncoderTests using assertThat
* Throw invalidValue for use of invalid top-level values
* Provide an message for not supported errors
* working serverTimestamp
* working FieldValue. Still need: document ref and ability to Eq of FieldValue
* DocumentReference implemented and testing works
* clean up header search path
* improving FieldValue enum comments
* run through formatting
* addressing comments
* formatted with swiftformat 0.35.7
* add missing bool->BOOL change
* undo unintended swift version change
* remove unwanted proj file change