Added CMS Repository

Based on Public Website repository. API details
still getting worked out, so implementation will 
change.
Move CMS repository classes into own section
Removed links until implemented in CMS
Added fixture to match CMS output
Test the BlockComposer for CMS
Make CMS fixture valid json
Removed specs not used in CMS repo spec
Added retry count to configuration of connection

I'm not happy with the way this is being tested 
but the connection has no access to the retry count
after initialisation without a huge chain of 
__getobj__ and instance_variable_get method calls
Use inflection for CMS acronym.

@modsognir :cake:
Move CMS repositories to repository directory.
Add CMS preview repository.
Add interactor to preview articles.
Add preview action to articles.
Add `/cms` path to CMS endpoint and change preview repository to a relative URL.

@mosognir also changed the port number so it doesn’t clash with the frontend when started via foreman
Add categories, breadcrumbs and related content to preview articles.

- Separate preview controller
- Route article preview to respective controller
- Preview interactor and controller inherit from respective article equivalents
- Shared examples to test article and preview controllers
Add alternates attribute to preview.

@modsognir guess it’s fine for this to be empty on preview?
Parse Comfy blocks with Kramdown
Update ConnectionFactory to use Http factory for the CMS connetion
Pull the meta description from the CMS
Don't use CMS repository

Removed redundant show call in ArticlePreviewController

Removed excess whitespace in CMS repo autoloading

Fixed attribute default options whitespace