Implement Contentious Stipped Down Interface

This, to the best of my ability, ensures the interface as desgined in the documentation.
However there are several barriers to completely matching the documented interface.

1. Moya needs to be fleshed out more and support more.
2. Several documented use cases were inconsistent.
3. An Exact Error set and use cases need to be defined
4. The Interface does not consider field objects - see below.
5. Empty response bodies does not have well specified behavior
6. Moya needs to also serve a Leviathan service to show resource bridging

Regarding Fields:
The design called for
```
resource.attributes[field] # => 'field value'
```
This interface makes it impossible to discover important information about the field like it's scope, it's type, or its doc.

So instead you have to do
```
resource.attributes[field].value # => 'field value'
```
but this is ugly, this is why I proposed

```
resource.attributes[field] # => Representor::FieldObject
resource[field] # => field.value
```

Perhaps this is not the best interface, but the documented set doesn't cover all usecases.
Tendency with mdsol state machines is to [make these non-idempotent](https://github.com/mdsol/plinth/blob/develop/features/apis/v1/studies/status_update.feature#L164), but I'd be happy to change this to something less ambiguous.