Allow setting content variables using a special syntax

This is still experimental.

By defining methods starting with `content_for_` and ending in `!`,
variables can be set at render time.

```ruby
class RocketPresenter < Curly::Presenter
  # Same as calling `content_for :rocket_name, "Apollo"` in an
  # ERB template.
  def content_for_rocket_name!
    "Apollo"
  end
end
```

### Alternative designs

#### Allow calling arbitrary code via a `setup!` method

This is very easy to do – simply call the `setup!` method on the presenter just before rendering the view. The presenter can specify `content_for` values and whatnot:

```ruby
class RocketPresenter < Curly::Presenter
  def setup!
    content_for :rocket_name, "Apollo"
  end
end
```

#### Add a special DSL

This would add some complexity, but would in turn not pollute the method namespace.

```ruby
class RocketPresenter < Curly::Presenter
  content_for :rocket_name do
    # Evaluated at render time.
    "Apollo"
  end
end
```