Feature models

Here is the model generating feature branch.

Looking through the commit changes i'm regretting running jslint on the index file :)

The api endpoint builder is now split amongst a model generator and a property generator, with a parameter converter as the api endpoints are in a slightly different format to model properties.