Tests for Angular 1.2 Compatibility (Work in progress)

This pull request is a work in progress.

I'm re-working tests so that they test for AngularJS 1.2 compatibility and differences.

Purpose of this:
- Highlight things that need to be changed to make things work with AngularJS 1.2

This pull request:
- Should not break any tests while running on AngularJS 1.0.8 (the current test setup)
- Does not contain any changes to the modules, only changes to the tests

To use:
1. Replace `test-lib/angular.js` and `test-lib/angular-mocks.js` with the 1.2 versions of those files.

The biggest change affects datepicker and timepicker tests is that ngModel is no longer using the isolate scope of the element directive, so using `$parent.model` breaks the tests as it's trying to access the model from the parent of the root scope. See [breaking changes in the changelog](https://github.com/angular/angular.js/blob/master/CHANGELOG.md#breaking-changes-1) and the original issue: https://github.com/angular/angular.js/issues/1924 .

While working on this, I noticed a number of hacks around the edge cases. Some attributes were had model-like behavior (two-way binding) (e.g. `open`), while other attributes were being picked up on the controller (before the linking and before the scope maybe ready). I think it's important to note these differences. This can be done either through documentation or via a naming convention of the attributes. I noticed an eye icon that I believe is supposed to mean something, but it's not quite clear what that means. (Shall put out another issue for this)