Add better support for ngModel in pctTimezoneSelector directive

- Add better support for ngModel in pctTimezoneSelector directive
    - Watch changes not only from user input but from any source
    - Move Directive controller logic to link function to interact with ngModelController properly
- Add support for ng-require
- Add support for name attribute
- Add tests