Fix an issue with summary label.

The summary labels uses the method `as_string()` from the Column definition,
but if the column defines a `format_func_data` the as_string was passing the
value to the format_func, instead of passing the expected object, which was
causing an error.

Improve the as_string method to better detect when to call format_func.

Change-Id: I82482200b01896e0ddd1119634502c6d4beed305
Allow to set mode by hand without accessing a private attr

The entry behaves different depending on it's actual mode, but data mode is
only set when it gets prefilled with some data. That's a problem when we are
using it and we would need to workaround every api call if the sequence we
passed to prefill was empty.

So, add a new api that allows us to set the mode by hand.

Change-Id: Iff412cd25b51dd8e46e5b8ad5e1af2ff349d12d3