timrwood/moment — pull request #584 by timrwood (2013-01-17 01:35:20+00:00)
Title: Adding short form localized tokens.

See #533.

Lowercase `L` should be the shorter counterpart to uppercase `L`. The same units would exist in both formats. Choosing between an ordinal, zero filled, or plain number will depend on whether the format is uppercase or lowercase `L`. The same consideration should be made between long form names and abbreviated names.

```javascript
moment().format('L'); // 01/14/2013
moment().format('l'); // 1/14/2013
moment().format('LL'); // January 14th 2013
moment().format('ll'); // Jan 14 2013
moment().format('LLL'); // January 14th 2013 2:08 PM
moment().format('lll'); // Jan 14 2013 2:08 PM
moment().format('LLLL'); // Monday, January 14th 2013 2:08 PM
moment().format('llll'); // Mon, Jan 14 2013 2:08 PM
```

The number of characters defines which types of tokens are used.

```
1 L/l Month numeral, day of month, year
2 LL/ll Month name, day of month, year
3 LLL/lll Month name, day of month, year, time
4 LLLL/llll Month name, day of month, day of week, year, time
```

If the `l ll lll llll` tokens do not exist, they are automatically created by replacing `MMMM` with `MMM`, `dddd` with `ddd`, `MM` with `M`, and `DD` with `D`.