task: create property expansion framework

This framework is only used for the existing ${_name} property, but
moving this code to its own file, and using a more advanced replacement
method which can match anything inside of ${...} paves the way for the
upcoming custom property feature.

Change-Id: Ica9ecd59d4383e5072d2ccaaef53ce79f0bea9c8
2 files changed