setValue() support for subSchema

setValue() was rewritten using a new helpers function verifyKey(). This
add supports for  dot-notation type keys for nested schema. e.g:

setValue({"geoloc.Lng": marker.position.lng()} );
setValue({"geoloc.Lat": marker.position.lat()} );