Allow default values to be callable objects

It would be useful to be able to set callable objects when setting default values in mutations. One simple example:

```ruby
class UpdateCommand < Mutations::Command
  optional do
    date :updated_at, default: -> { Time.now }
  end

  def execute
    ...
  end
end
```

Otherwise the Time.now would acquire the time the class was read during initialization.