Add support for localizing contributions

This pull request allows Contributions to be localized using their own properties files. To do so, they declare support for internationalization like this:
````
Language.registerContribution("org.mydomain.contribution-x", this);
````
Later, they can use the `Language` interface like this:
````
Language.text("my.key", "org.mydomain.contribution-x");
````

Note: that I also fixed the `UTF8Control` inner class that should be static.

I worked on this together with [Andrés Adjimann](https://plus.google.com/+AndresAdjimann) at the Mulesoft Hackathon held yesterday in Buenos Aires.