Allow attribute changes without source

This will allow attribute changes to be saved without having the class that contains the change available.
The `validates_presence_of` method tries to load the class associated with the attribute change because of the polymorphic association on `source` this is a problem when the project that handles auditing does not contain the classes for the audited change.
I chose to follow the rules on the `Event` class for determining the need for a source. It might also require some protection on the `source` association as well.

/cc @grosser