More docs

Added documentation for amend and update functions.

[#63303980]
Updated implmentations of save, update, amend

Changed the implementations of save, update and amend to:
1) reduce query count.
2) use update_fields correctly
3) validate txn_end_date is not set fo update and amend

added test cases

[#63421322]
amend/update Working properly

update_fields removed - this just won't work as we're saving new rows.
If it's truly needed we can use it as a list of fields to copy from self
to old_self to limit what gets saved, but the query efficiency it was
created for will be lost.

amend() now writes three rows again. This is the correct behavior

Test setup fixed to have consistant transaction time.

[#63421322]
delete implemented

End old transaction
write new open transaction with valid_end_date set

[#63076858]
Delete improved and documented

Created eradicate() function to really delete rows. This is unexpected
behavior in a bitemporal table, but the test driver does need to remove
rows.

Delete may only be called on current objects
Delete will not set new transaction times on self, but will return the
new row

[#63076858]
Tests for delete

Deleting a non current object fails
Deleteing a current object does not remove it from the table

[#63076832]
QuerySet delete method

Just call delete on each object.

[#63844620]
Use transactions

added commit_on_success decorator to all data changing methods

[#63076944]
Check txn and valid date ranges on save

Implemented checks, and a test for each one.

[#63077402]
Fix the issue so tests can run

The date range check turned up some errors. This solution gets the tests
running again, but might not reflect the test scenarios correctly.

[#63846990]
Lots of big changes

Updated docs
Shift from None to 9999-12-31 to represent Current entries (Simplifies
    queries, recomended by Snodgrass)
Manager/Queryset methods to handle both time scales finalized:
    (during, current, active, active_durring)
save_during method added to save for a valid period, and resolve splits
Tests written for save_during
txn and valid dates made private/readonly. Users are encouraged to use
    only the provided methods to modify valid dates, and not modify
    tnx dates.
Default Ordering set to _valid_start_date
Lots of integrity checking on both txn and valid dates
transaction wrappers added to db modifying methods
mock temporal foreignkey added to test app
tests refactored with easy to use constants for time values
Additional active row added for Acme with name == 'Acme Corp'
new test object 'Sue' is born and dies.

[#63303980, #63421322, #64519630]
Addition of MasterObject allows Bitemporal relations

Update documentation
Created MasterObject
Removed row_id and id magic.
Added integrity error if an attempt is made to change data in an object.
BitemporalBaseModel.save() will create master object as needed.
removed TemporalFK test code from test app.
reworked all test cases to deal with MasterObject

[#65817886]
Created initial migrations
Merge remote-tracking branch 'upstream/master'