Specd complex representor

This is intended as a code quality version of the previous PR, please review for merge.
Just use

```ruby
builder ||= RepresentorBuilder.new(hash)
```