Model subclassing support

If you have a 'type' field set, when Dynamoid initializes your model it will create an instance of the class specified in 'type'.
```ruby
class Chamber
  include Dynamoid::Document
  field :type,          :string
end

class ThroneRoom < Chamber
end
```
Now whenever Dynamoid encounters a Chamber object whose type is 'ThroneRoom', a ThroneRoom object is created instead of a Chamber object.