Association with inverse_of does not set the parent in association building block

Hi!
I found following issue.

When creating new association object with a block:

```ruby
    parent.association.build do |child|
      child.parent.equal?(parent) # false
    end
```

The block the `child.parent` did not point to the same object.
But when the object is created it points to same instance:

```ruby
    child = parent.association.build
    child.parent.equal?(parent) # true
```

So this patch fixes it by setting inverse_of record right after object is build for the association.

If the patch is right I'll add CHANGELOG entry and backport it to `3-2-stable` branch.