The logic here seems backwards. For whatever reasons, the columns _not_ being audited are stored
```self.non_audited_columns = except```
So to assign the limited set of columns which one wants to audit exclusively to the list of non_audited_columns seems like it would have the opposite effect of what I would expect an :only option to provide.

For this to work without an underlaying table requires that the entire filtering mechanism be changed to either (a) save 'columns_to_audit' rather than 'non_audited_columns'; or (b) save either/or, and have some more complex logic to switch between the two if one or the other has not or cannot be used (this sounds yucky, but I am assuming there was design benefit to storing non_audited_columns originally that may be desirable to try and preserve in some way--even if the solution becomes more complex)