Converted the service config viewlet to a view.
Pulled the conflict mixin object out from inspector.js into it's own mixin fn.
Split the config file upload methods into their own mixin to be used in multiple modules
Fixed failing inspector settings tests after the viewlet to view conversion
Replaced all of the moved methods with their originals so that the remaining viewlets which rely on them can still function.
Renamed mixin files to extensions
Merge pull request #164 from hatched/service-config-view

Notes
------
Shared methods from the inspector.js object mixins were split out into their own extension files to be mixed into the appropriate views. The original methods were left in the inspector.js file to allow the remaining viewlets to function properly.

To QA
-------
Exploratory QA on the inspector including databinding.

__databinding qa notes__
To test that databinding works deploy Ceph and use the following code snippit to change the model values
```
var srv = app.db.services.item(0); 
var cfg = srv.get('config'); 
cfg['auth-supported'] = 'fo2o'; 
srv.set('config', cfg);
```
Between every test refresh the browser
1) Run snippit without making any changes 
2) Change the ```auth-supported``` value, save the change, then run snippit
3) Change the ```auth-supported``` value, then run snippit (it should give you a red ! which you can click on to choose which value you want)
Converted the constraints viewlet to a Y.View instance.
Fixed failing inspector constraints tests from viewlet to view changeover.
Merge pull request #165 from hatched/constraints-to-view

To QA
-----
Make sure you can change the values for the constraints in the ghost and service inspector. Also testing the databinding functionality using:

```var srv = app.db.services.item(0); var cst = srv.get('constraints'); cst['cpu-cores'] = '110'; srv.set('constraints', cst);```