Add function to bulk create audits

Also cleans up the `Auditable`/`Authorizable` inheritance tree, by moving all pending functionality into a new class, `PendingAuditable`, which joins the two mixins together.

I initially switched to using the new `bulk_create_with_user` function in instance creation for adding species.
After some testing though, this seemed to add about 10s to instance creation, which is taken up almost entirely in `Auditable._make_audits`.
I don't see anything in `_make_audits` that looks horribly unperformant, so I think that might be the best we can get.  I *think* `bulk_create_with_user` will still be of some use, but we might only be able to use it in asynchronous celery tasks outside the request/response cycle.