Update dataCollection watcher to use $watchCollection

I was running into issues with having smart-table display the latest data when `rows` changed from some external request. The current watcher on `dataCollection.length` was not getting triggered.

This pull request represents a change to that watcher, more specifically utilizing the preferred [$watchCollection](http://docs.angularjs.org/api/ng.$rootScope.Scope#$watchCollection) to accurately fire during changes to the rows array.

*Note: This happens to be an important change that is currently blocking push for a project that my company is working on. Would be great to have this merged as soon as possible and reflected in the [bower repo](https://github.com/lorenzofox3/bower-smart-table).*

Thanks!