Clean up the tabs directive

It's gone through many changes since Ionic started, so a fresh look at how it works and why look would be a good idea.

Below related issues in one list:

- [x] #634: Addressed by addressed by putting 'selectedTab' and 'selectedTabIndex' onto `<ion-tabs>` $scope, let the user watch that.
- [ ] #620 has-tabs css/js refactor
- [ ] #395, #419 related to above #620 (will likely just allow the user to put an ng-if on his tabbar)
- [x] #334 fixed
- [ ] #175 expose select on controller scope, allow it to take a number
- [x] #646 fixed
- [ ] #647 to be honest cannot see a better way to od this one than what the user is doing, unless we move to element nav-items (which could be done later)