Add optional time argument to calendar method

For example:

```javascript
moment().calendar()
// => Today at [...]

fakeToday = moment().subtract( 'days', 1 )
moment().calendar( fakeToday )
// "Today" from the perspective of yesterday (`fakeToday`) is "tomorrow".
// => Tomorrow at [...]
```

I'm not sure how useful this would be outside of a testing environment, but with it you can test the `calendar` method by feed it a stubbed out "now".