Building acceptance test for parser

- acceptance test for basic coversheet
- parslet transform for building models
Remove imported smart_answer code
Remove question base (not used)
Refactoring and more work on parsing

Refactoring to change the model so that a Node is a general purpose
representation of all page types. It will aggregate front_matter,
markdown content sections and 'widgets' corresponding to either
questions, outcomes or start buttons.
Add DirectoryInput to abstract reading files from filesystem
Cover sheet parser, refactoring

introduce 'Elements' which are the parts of a node.

introduce 'Interpreter' which are the combination of a parser and a transform
Break up node parser into parslets for each element
Add spec of Parser::Base

also remove front matter specs as they are covered elsewhere
Move element specs to subdir
Subdir for specs which integrate parsing and transformation
Include small integration tests with each element parser
Add spec for multiple_choice question
DRY up testing of transformation

change Interpreter to allow a parser to be passed in
Merge pull request #2 from alphagov/build-parser

Build parser