Changed the `Property.Value` setter to be `public`.
Changed the `Property.DataTypeId` property to be `public`, with an internal setter.

(We need to reference it within Courier's DataResolver)
Added `JsonProperty` attributes to the properties.

(So that we can serialize/deserialize from the Courier DataResolver)
Added a constant for the PropertyEditor alias.

(So that we can reference it from the Courier DataResolver, without fear of typos)
Added a nested try/catch.

For if the `PublishedPropertyType` value is null, we can still get an `Archetype` model returned)
Added constant for the prevalue alias.

(As we reference to this in the Courier DataResolver)
Fleshed out the `ArchetypePreValue` models.

(When Courier packages up the DataTypeDefinition - we need to serialize/deserialize the config options/JSON)
Housekeeping: Fixed up the whitespace :bowtie:

There was a mix of tabs & spaces...
... normalized to use spaces (which was painful for me as I'm a "tabs kinda guy" :metal:
Merge pull request #49 from leekelleher/feature-patch-courier-dataresolver

Tweaks to support a Courier DataResolver