Adds mechanism to prevent bad method calls

Naming a column after a data-altering method such as ``"delete"`` would cause ``DatatableView``'s default value inspector to call the method with no args, expecting to get a value back for use in the table column.

This is anything but intended, so now we check for the ``alters_data`` attribute that Django uses internally to prevent users from calling certain methods from the template language.