Changes around handling of size entries in custom spoke.
* Make the max places displayed on this spoke a named constant.
* Get rid of _device_size_text attribute. It looks like that state is
unnecessary and CustomSpoke has plenty of state as it is.
* Still assume that if the entry text has not changed at all from the
text displayed, then no change was intended.
* Also, if the entry text has changed, but it represents exactly the same
size as the current device's size, consider this no change.
Assuming the size was actually 1 MiB, and that the string representation was
"1 MiB", if the user enters "1" (which is interpreted as 1 MiB), or
"1024 KiB", or "1 MiB ", or even, "1.00 MiB", then changed_size
will be False. Previously any of these would have been interpreted as
an actual change.
This is still a bit paradoxical, because not all digits are displayed.
The value displayed represents a range of possible values, of which
the actual size value is just one. This means that, if the actual value is
1.001 MiB, and the displayed value is "1 MiB", and the user enters "1.0 MiB",
then the value will be updated (but the user won't see the change, because
the value will still be represented as "1 MiB").
This patch doesn't change that fact, though. It's hard to do much
different w/out getting a whole lot more sophisticated.