Handle single & double quote

Should fix issue #27

This issue comes when in handlebars you have this kind of thing

```handlebars
{{{sprintf (gettext '<span class="counter">%s</span> foo' '<span class="counter">%s</span> foos' much) much }}}
```

It's a weird case where HTML is included in string to translate because you want another typo or font size for the variable but in a big long sentence. As you want to preserve localization, because in some other language the variable can be set in another place in the sentence, you include it in the sentence to translate.

So... double quote in the sentence...

And the hbs extractors transforms it to JS like function before calling execution in gettext context

```javascript
gettext("<span class="counter">%s</span> foo", "<span class="counter">%s</span> foos", 0)
```

See how double quote ruins everything.

This PR fixes it by choosing which quote to use, single or double.
p.string exists only if the "param" object type is 'STRING'. If not it could be 'DATA' and do not have string attribute.

For example
```
{{gettext.ngettext 'foo' 'foos'  much }}
```

will produce a mustache node in the AST with an id object type 'ID' & id object string 'gettext.ngettext. This node property 'params' will contains the list of parameters which are complex object too. I'm listing (params.map) to construct a JS gettext call.

* first param will be 'foo' with a type 'STRING'
* second param will be 'foos' with a type 'STRING'
* third param will be 'much' with a type 'DATA' an no string attribute but others complex object in it describing the variable 'much'. As it does not influence gettext to know what's behind 'much' I replace those 'DATA' by 0