Initial implementation to support circular type references

 - Currently only allows references to models in fields that reference
   themselves, but allows for simplication / removal of the model
   resolver class
 - Complicates the service description design as each model and field
   instance needs access to the parent service description to resolve
   models at runtime.
 - Fixes #109