Create RoutingProperty.js

The RoutingProperty accepts a property, the value of which is used to determine which value should be selected from the supplied map of other values / properties. To function correctly, the oRoutingProperty should only ever contain string values that are mapped as keys in the mSelectionProperties object.

When the oRoutingProperty contains a value that is not found in the mSelectionProperties object, an error will be thrown.

When the mSelectionProperties object contains values that are not instances of caplin.presenter.property.Property, the RoutingProperty will use the element from mSelectionProperties as its value, when the value in mSelectionProperty is a Property instance though, the RoutingProperty will act as a proxy for all updates to the selected property.