JSXTransformer, concatenate consecutive strings

JSXTransformer currently produces suboptimal code when _fixed strings_ are inserted with braces, ```{'Abc'}``` or ```{"Abc"}```, as is required if you want to override the JSX whitespace collapsing.

This means that ```<div>A{'\n'}B</div>``` does not generate 1 div, but 1 div and 3 spans ```<div><span>A</span><span>\n</span><span>B</span></div>``` rather than just ```<div><span>A\nB</span></div>```.

My proposed changes treats ```{'Abc'}``` and ```{"Abc"}```, and ONLY those as if they were actually written inline without braces, but _after_ whitespace collapsing has occured, so their content is exactly what ends up in the DOM. To clarify ```{StringVar}```, ```{'A'+'B'}``` and even ```{('Abc')}``` are _not transformed_, so this will have no effect on runtime keying.

If my PR for stricter whitespace collapsing rules is accepted, this will hopefully be less of an issue. But still, a single ```{'\n'}``` can cause 0 spans to become 3 which can be a heavy price considering the DOM is the costly part, and this is part of the JSXTransformer which in my opinion, should make a reasonable effort to generate "fast code" as long as it doesn't affect readability.

I also removed a duplicated piece of code (I can move it into it's own PR), because it simplifies the implementation of this PR.

### Example
```
<div>
  abc{'\n'}def
  def{" \t"}ghi
  ghi{Var}jkl
  jkl{' '+Var}mno
</div>
```

### Before
Although a contrived example, this will end up creating 9 spans.
```
React.DOM.div(null, 
  'abc','\n','def '+
  'def'," \t",'ghi '+
  'ghi',Var,'jkl '+
  'jkl',' '+Var,'mno'
)
```

### After
After fixed strings have been concatenated, only 5 spans will be generated. Note that the two expressions with ```Var``` have not been concatenated, but remains as arguments, and as such still have their own spans.
```
React.DOM.div(null, 
  'abc'+'\n'+'def '+
  'def'+" \t"+'ghi '+
  'ghi',Var,'jkl '+
  'jkl',' '+Var,'mno'
)
```