Formtool form refactoring

We want to remove the dependency for formtool settings in mongoose schema. Instead we want to add all formtool related setting (mostly UI) in the plugins. Below is the proposed example DSL for formtool form settings for a User model.

```
var userSchema = new linz.mongoose.Schema({
    username: {
        type: String
    },
    password: {
        type: String
    },
    email: {
        type: String
    }
});

// add the formtools plugin
userSchema.plugin(linz.formtools.plugin, {
    form: {
        username: {
            label: 'Username',
            placeholder: 'Enter your password'
        },
        password: {
            type: 'password'
            label: 'Password',
            helpText: 'Your password must be 6 characters in length',
            placeholder: 'Enter your password',
            create: {
               disabled: true,
               label: 'Your password'
            },
            edit: {
               visible: false
            }
        },
        email: {
            type: 'email'
        }
   }
});
```

By default, formtool will first load in the settings from mongoose schema (e.g. type, defaults, etc), then overlay the configurations in plugin form property. If there are any common properties in both configurations, form configurations will take precedent over mongoose schema settings.