Added ability to add sprintf variables to JText string

Tracker item: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=30370

This is - in my opinion - a really cool and exciting code change.

It makes it possible to add a comma separated list of language keys in the ```JText::_()``` method, and it will treat it as a ```sprintf``` string.

If your language file has this:
```
MY_STRING="I love %s and %s!"
FOO="apples"
BAR="pears"
```
And you do ```JText::_('MY_STRING,FOO,BAR');```
Then the result will be:
*I love apples and pears!*

#### Why?
So why is this interesting? Why not use ```JText::sprintf()```?

Well, a lot of strings ar automatically passed through the ```JText::_()``` method and you have no option to choose the ```JText::sprintf()``` method. The main example (as I can see it) is the strings in XML files.

So instead of this:
```
JFIELD_ACCESS_LABEL="Access"
JFIELD_CATEGORY_DESC="Category"
JFIELD_LANGUAGE_DESC="Language "
JFIELD_PUBLISHED_DESC="Status"
JOPTION_SELECT_ACCESS="- Select Access -"
JOPTION_SELECT_CATEGORY="- Select Category -"
JOPTION_SELECT_LANGUAGE="- Select Language -"
JOPTION_SELECT_PUBLISHED="- Select Status -"
```
with an xml like:
```
<field name="t1" type="text" label="JFIELD_ACCESS_LABEL" description="JOPTION_SELECT_ACCESS,ACCESS" />
<field name="t2" type="text" label="JFIELD_CATEGORY_DESC" description="JOPTION_SELECT_CATEGORY" />
<field name="t3" type="text" label="JFIELD_LANGUAGE_DESC" description="JOPTION_SELECT_LANGUAGE" />
<field name="t4" type="text" label="JOPTION_SELECT_PUBLISHED" description="JOPTION_SELECT_PUBLISHED" />
```

You can simply have:

```
JFIELD_ACCESS_LABEL="Access"
JFIELD_CATEGORY_DESC="Category"
JFIELD_LANGUAGE_DESC="Language "
JFIELD_PUBLISHED_DESC="Status"
JOPTION_SELECT="- Select %s -"
```
with an xml like:
```
<field name="t1" type="text" label="JFIELD_ACCESS_LABEL" description="JOPTION_SELECT,JFIELD_ACCESS_LABEL" />
<field name="t2" type="text" label="JFIELD_CATEGORY_DESC" description="JOPTION_SELECT,JFIELD_CATEGORY_DESC" />
<field name="t3" type="text" label="JFIELD_LANGUAGE_DESC" description="JOPTION_SELECT,JFIELD_LANGUAGE_DESC" />
<field name="t4" type="text" label="JOPTION_SELECT_PUBLISHED" description="JOPTION_SELECT,JOPTION_SELECT_PUBLISHED" />
```

*PS: just using text fields as an example. The important thing here is the description (popup) of the options*

As you can see, I don't need a separate language string for every single object type you can select.
This opens up great possibilities for devs too to be able to use (semi-)dynamic language strings in the XML files.

#### Other examples
###### Dynamic option names
Use it to number options (or any other form of dynamic option names) without needing loads of separate language sting where only the number (or type) differs.
```
<field name="myoption" type="list" default="2" label="Options">
    <option value="1">MY_OPTION,1</option>
    <option value="2">MY_OPTION,2</option>
    <option value="3">MY_OPTION,3</option>
    <option value="4">MY_OPTION,4</option>
    <option value="5">MY_OPTION,5</option>
</field>
```
All your language file needs is:
```
MY_OPTION="My option: %s"
```

###### Concatenate strings
You can push multiple strings and concatenate them (or whatever you want) by using:
```
description="%s %s %s,MY_STRING_ONE,MY_STRING_TWO,MY_STRING_THREE"
```
Or even:
```
description="<h2>%s</h2> %s <em>%s</em>,MY_STRING_ONE,MY_STRING_TWO,MY_STRING_THREE"
```
Note: You should only use this if you know that the order of the strings is not reliant on the language.
If it is, use a language string for the first part too.

#### Testing instructions
Use above examples and test it by pasting the fields into an extensions xml file and see the descriptions in the extensions settings.
To test the JOPTION_SELECT example, you will need to add that language string to your lang file too, of course. Easiest is to add it to the language override file.

#### Backward compatibility
The sprintf thing is triggered on stings that contain a comma and everything behind the comma is all uppercase.
So this should not affect any usage of the ```JText::_()``` method and xml values used.
All language keys do not contain comma's. So this should not get triggered on anything currently passed to the ```JText::_()``` method.