msgctxt extraction and compilation

To give support to the new feature on [angular-gettext](https://github.com/rubenv/angular-gettext/issues/53) extraction and compilation of msgctxt was implemented.

The filter argument extraction was not implemented but 2 failing tests were developed to indicate that.
Both js and html extraction were implemented.

* The extraction will add an entry to the .po for each contextualized translation like.
* If repeated msgid are present in the code and some have context and other not an error will be raised and the missing (or unnecessary) context indications must be added (removed).
* On the compilation if there are repeated msgid and some have contexts and others not the compilation will silently ignore the ones that don't have context. 

Compilation Output:
```javascript
msgid: {
    contextA: [translationA, translationA-n],
    contextB: [translationB, translationB-n]
}
```

Extraction Output:
```
file.[js,html]
msgctxt "contextA"
msgid "msgid"
msgid_plural "msgidPlural"
msgstr[0] translationA
msgstr[n] translationA-n
```

It's not great I agree. 
The complexity introduced arises from the need to abort the extraction if the user doesn't indicate a context for a msgid that has (or will) provide a context for the same msgid.
If in some place a msgctx is indicated for a msgid then all the msgid appearences must be accompanied by a msgctx.