Fix string_type class in C++ header and change Property::set(string_type...

...) signature.

One polymorphic version of Property::set() was for std::vector<const
string_type>, which doesn't seem to be correct and fails to compile
for me.  This patch changes it to Property::set(const string_type).
It also adds a "size" member to the string_type class to make it work.