:only option does not blow up when table not defined

This change sets audited_columns in addition to non_audited_columns so
that the entire list of columns is never needed to be referenced or
stored when making an audit.

Further explanation:

Previously the .audited method would, when given an option :only,
attempt to select all of the columns for the table for the class that's
being audited to be added to an exclusion filter, 'non_audited_columns'.

This meant that when the Rails environment is loaded before the table
has been created, an exception would be raised when ActiveRecord
attempted to load the column names for the table that doesn't yet exist.