Allow the use of get and unknownProperties with SC.String#fmt

Allows SC.String#fmt to use .get on the passed object.

The use case is that when a named arguments string is used, and this string needs to be very flexible with many options, the current implementation requires all possible values to be precalculated, which can be pretty expensive.

If the formatting allows passing in an SC.Object (or something with SC.Observable mixed in), SC.String#fmt will only calculate the values of the named arguments actually used in the string.