Adds Currencies implementation

Regarding the subunit question: this makes it possible to create custom currency repositories (Currencies instead of CurrencyRepository). It is up to the user how it is filled up.

This makes it possible to create a repository where the subunit is available. However for the default repository a list of currencies is still needed and #48 complains about it.

I would also fill up the current currency list with the list of subunits, and any other relevant data. It is a godd base to work with, but these metadatas are not tied to the `Currency` Value Object.
Get rid of the parent class.  See http://verraes.net/2014/08/dry-is-about-knowledge/