Support string format and duplication using AIM datatype formatting.

Reviewer: @poolakiran 

The existing function aim_fstrdup() is convenient, but does not allow
for AIM custom datatypes in the format string.

The new functions aim_dfstrdup() and aim_vdfstrdup() allow for
AIM datatype formatting in the input.