* try to refresh the block device cache once if a device was requested, that is currently not in the list (after a minimum cache age passed)
* added an implicit sorting function for block devices (based on major/minor values)
* try all found device nodes, in case the first does not exist anymore (e.g. temporary device nodes)
* significantly reduced the time required for generating the block device list:
* use a cache for major/minor -> device nodes mapping
* run 'blkid' only once for LABEL, TYPE and UUID
* added some code for (optional) profiling via python-profiler
Rationale: Some English translation text strings are now marked "fuzzy" despite their
actually being correct. This is presumably because, during the transition to "gettext"
or from tabs to spaces, some strings got reformatted in a way "gettext" didn't expect.
Since several translations are falsely marked "fuzzy" in English, it's likely that the
same is true for some of the other supported languages as well. The "--use-fuzzy" option
can optionally be turned off after the *.po files are verified by human translators.