Added SmartModelMixin and SmartManagerMixin

These are convenience utilities that automatically link up models and managers to smart managers. I also removed the need for a unique name field on smart managers. @wesokes please review