Add a ModelDefinition class
Refactor/cleanup the data source juggler implementation

- Add a ModelDefinition class to encapsulate the model schema handling
- Add a Connector class as the base class for connector implementations
- Optimize attachTo and mixin
- Rename some properties/methods
Use ModelDefinition to access model name/properties/settings
Export Connector class
Fix copy of model definitions
Use super_ to call the base class
Fix the columnName
Reset _ids for rebuild
Set name and settings
Merge branch 'master' into juggler-tidyup

Conflicts:
	lib/model.js
Merge pull request #18 from strongloop/juggler-tidyup

Start to tidy up datasource-juggler implementation (WIP)