Make AttachmentRegistry.definitions_for include attachments for parent classes

Given this scenario:

```ruby
class Foo
  has_attached_file :image
end

class Bar < Foo
end
```

``Bar#attachment_definitions`` should return the ``image`` attachment definition defined on ``Bar``'s parent class, ``Foo``, but it currently returns ``nil``.  This commit returns the attachments registered for the given class, as well as all of its parents, instead.  This also supports the situation where attachments are defined on both the parent and child classes, and supports any number of levels of inheritance.  

This also makes a subtle change to ``AttachmentRegistry.definitions_for``:  When no attachments are defined, it now returns an empty Hash instead of ``nil``.  Nothing within paperclip relied on that behavior, and I believe that makes more sense anyway. If anyone feels that will break something, I'm happy to restore the old behavior, though.