Sinatra::Schema

Define the producer API schema using a [Ruby DSL](http://github.com/pedro/sinatra-schema) instead of JSON/YAML.
About the method chain here, how about:

```ruby
resource("/messages") do |res|
  res.link(:post) do |link|
    link.properties do |property|
      property.text :title
      property.text :body
    end
  end
end