Introduce core Article entity
Introduce core Article API repository

We're introducing the Repository Pattern to abstract the persistence
mechanism for articles. We are likely to have a different persistence
mechanism when the CMS changes, this allows us to choose which we want
to use as they can be used interchangeably.
Introduce core Article reader interactor

We're using the concept of interactors (or use cases) to represent
specific business rules (in this case reading an article from the
registered article repository).

Interactors ensure that our adapters (our controllers) remain agnostic
about the behaviour they are exposing as that behaviour is encapsulated
by an interactor.
Register Article repository
Decouple ArticleReader and Article

ArticleReader no longer knows about the attributes of an Article. It
instead passes it a hash, allows it to instantiate then asks if
then newly instantiated article is valid.

cc/ @gjvis
Core::Article should respond to #url=
Article requires a description to be valid
Validate Article URLs
Coerce Article attributes on initialisation
Merge pull request #19 from moneyadviceservice/consume-api

Consume Articles from MAS API