DSL Niceness

Use `instance_exec` when setting up a record, so the block is evaluated in the context of the thing you're trying to create. Opens up the possibility to have Factory Girl style DSL-ness if you cared about that. For backwards compatibility it passes the object as an argument too.

Currently, in this PR:

```ruby
record id: 1 do
  self.attribute = "something"
end
```

Possibly:

```ruby
record id: 1 do
  attribute "something"
end
```