Use . notation for ng-model to allow nested models

The model for a form currently has to be completely flat i.e. every
field must be an attribute of the form's `ngModel`. Forms cannot
"reach into" subattributes because the lookup is via a single key.
Fix this limitation by using a dot notation instead.
Can we reduce this to a single `var` statement?

```js
    var setProperty = function (obj, props, value, lastProp, buildParent) {
            ...
        },
        bracket = function (model, base) {
            ...
        },
        buildFields = function (field, id) {
            ...
        };
```