This patch enables a custom StringField that can receive functions as
values so that they can be dynamically calculated during runtime. It
also ensures that hashing the fields remains consistant, so the hashing
of the VersionObjects that use function based defaults remains
consistant.
Change-Id: Idb8fb5d2e2cec4c36fafeb18701397cc4443be8c
Closes-Bug: #1609455