[SCHEMA] Implement audit timestamps and soft deletes on all tables.

Summary:
This is also the first start in creating our own custom ORM layer on top
of SQLAlchemy which supports automatically excluding soft-deleted rows
and, eventually, constraining results by namespace.

The API we have implemented simply wraps a SQLAlchemy session object and
provides a compatible API. If you define a relationship() on a mapper,
you also MUST make sure to manually exclude deletes via a custom
`primaryjoin`. There does not appear to be a public API available to
automatically instrument all SQLAlchemy relationships.

Test Plan: ./runtests and ./runtests -i pass

Reviewers: mg, emfree, kav-ya

Reviewed By: kav-ya

Differential Revision: https://review.inboxapp.com/D145