Calendar rebase

This replaces #1281.

Fixed unit tests and cleaner history based on Scott's rebase. Unit tests work in latest FF and Chrome but still fail via grunt. @jzaefferer You mentioned an upcoming improvement for asycTests?
If it's okay to use the private method via the widget instance this seems like a good idea!

So, remove the tests from datepicker completely (or leave one test to make sure the interaction works fine) and use _isValid in calendars tests?