Use ActiveRecord#persisted? instead of ActiveRecord#new_record?

When record was destroyed, it will return false when new_record? called :
```
u = User.first
>> u.new_record?
=> false
>> u.persisted?
=> true

>> u.destroy

>> u.new_record?
=> false
>> u.persisted?
=> false
```
I think persisted? is more appropriate here.
Fix specs
Object#extend is a public method
Defined missing class Delayed::FatalBackendError
Moved FatalBackendError to exceptions.rb file.
do not subclass Struct class

http://www.reddit.com/r/ruby/comments/14u7zs/dont_subclass_struct_classes_please/
* Modified the Worker#say method to be able to handle other loggers as "Syslog" that use their "add" method for other purposes.
Change activesupport dependency to < 4.2
Complete dependency update
Cleanup Worker#say
Merge pull request #638 from sergey-alekseev/master

do not subclass Struct class (update in README)
Merge pull request #647 from MSch/master
Merge pull request #646 from xrx/make_the_worker_say_method_more_flexible
Update travis link
Attempt to get travis green again
Add missing exception class

[Fixes #571]
Merge remote-tracking branch 'origin/pr/627'

Conflicts:
	.travis.yml
Merge remote-tracking branch 'origin/pr/614'
Cleanup my out of place commit
Merge remote-tracking branch 'origin/pr/608'