Allow iterating over all ucl objects.

Add `allow_expand' flag that manage the expansion behaviour during
iteration over arrays and objects. If expand is allowed then we
iterate over values of hash or arrays. Otherwise we just iterate
over the current level of hierarcy.