Changed the BSON writeTimestamp and readTimestamp to take a BSONTimestamp object instead of a raw long value, so there are no errors in converting to long before serialisation