Changing lang.ordinal to return number + ordinal instead of just the ordinal

See https://github.com/timrwood/moment/issues/484#issuecomment-9923454

**Note** the following comment was copied here for simplicity.

With the new internals of the languages, all of the properties of a language config get added as `lang._property` if they are not a function, and `lang.property` if they are a function. 

[Line 119](https://github.com/timrwood/moment/blob/294685a55a971e3f27291a3659f2708e9a210204/moment.js#L199)
```javascript
function Language(config) {
    var prop, i;
    for (i in config) {
        prop = config[i];
        if (typeof prop === 'function') {
            this[i] = prop;
        } else {
            this['_' + i] = prop;
        }
    }
}
```

Then, the default method and property on the `Language.prototype` could be something like this.

```javascript
Language.prototype.ordinal = function (number) {
    return this._ordinal.replace("%d", number);
};
Language.prototype._ordinal = "%d";
```

Then, languages like Bulgarian, Catalan, Chuvash, and many others can just set a string as the ordinal property which would then overwrite `Language.prototype._ordinal`, but would still use `Language.prototype.ordinal`.

```javascript
moment.lang('bg', {
   ordinal : "%d."
});
moment.lang('ca', {
   ordinal : "%dº"
});
moment.lang('cv', {
   ordinal : "%d-мĕш"
});
```

Then, no other internals would need to change except for [ordinalizeToken](https://github.com/timrwood/moment/blob/294685a55a971e3f27291a3659f2708e9a210204/moment.js#L173) which would actually be simpler.

```javascript
// before
function ordinalizeToken(func) {
    return function (a) {
        var b = func.call(this, a);
        return b + this.lang().ordinal(b);
    };
}
// after
function ordinalizeToken(func) {
    return function (a) {
        return this.lang().ordinal(func.call(this, a));
    };
}
```