4613084 Changes around handling of size entries in custom spoke.

Authored and Committed by mulhern 9 years ago
    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.