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?
I thought we decided to remove the keyboard shortcuts that weren't documented on the Wiki. @scottgonzalez do you remember talking about this?

Also the keyboard handling tests that are needed should probably go in calendar_core.js for consistency.