Added tighter Postcode validation
ClaimData class added

To be used to format the data for the PDF filling
ClaimController#submission revisited

The data populated into PDF is using the ClaimData class.
Also the specs were revisited as they expect property
values to be present.
PDF form's field meta-data field names renamed

They were renamed for property only, so that they
closer match the data provided by the model.
Landlord model's as_json defined

So that the data can be used in the PDF form filling.
Added a reusable claim data for specs

The data being posted is common in various specs,
extracted it and added it as a separate method
Edited fields in the PDF form for landlord

Merging values from the Landlord model so that
Claimant fields can be populated in the PDF
Added Landlord data to PDF form filling

Added Landlord model to ClaimData so that it formats
it's values for PDF filling
The formatting for Property#as_json revisited

Re-did the formatting because the form expects
the values to be listed one under the other &
not in the same line
Spec fix
Claim's #as_json revisted

Redone the spec data helper
Removed ClaimData class

As Claim model now holds sub models, there is no need for this
class any longer.
Claim's data formatting reorganised

The #as_json for Claim needs to be a flat Hash, hence this
commit
Refactored Claim model

In hope to make the intent clear to anybody else who
has to look at it.