Allow to pass arrays of validations to the validators

This allows to write validations like this (note the different messages for patterns):

```ruby
validates_attachment :attachment,
  size: { in: (1.byte)..(5.megabytes) },
  content_type: {content_type: VALID_ATTACHMENT_TYPES},
  file_name: [
    { matches: /.*\.(#{VALID_ATTACHMENT_EXTENSIONS.join('|')})$/i, message: :invalid_format },
    { matches: /^.{1,100}$/i, message: :too_long },
  ]
```

This change is fully backward compatible.

I've added minimal set of tests and created copy of one of fixture images with long name.