moved enhancer for rest into config object
refactored list wrapper to separate class
refactored modelCatalogueApiRoot to be plain angularjs value
was able to rewrite spec back to javascript
added spec to specifications extensions so we don't longer have specifications of the same name
radically rewritten angular services so they are better maintainable a extensible